2017-11-20 19 views
0
private void button1_Click(object sender, EventArgs e) 
     { 
      DataTable dataTable = new DataTable(); 
      dataTable.Columns.Add("A"); 
      dataTable.Columns.Add("B"); 
      dataTable.Columns.Add("C"); 
      dataTable.Columns.Add("D"); 
      dataTable.Columns.Add("E"); 
      dataTable.Columns.Add("F"); 
      dataTable.Columns.Add("H"); 
      dataTable.Columns.Add("I"); 
      dataTable.Columns.Add("J"); 
      string filePath = @"data.csv"; 
      StreamReader streamReader = new StreamReader(filePath); 
      string[] totalData = new string[File.ReadAllLines(filePath).Length]; 
      totalData = streamReader.ReadLine().Split(','); 
      while (!streamReader.EndOfStream) 
      { 
       totalData = streamReader.ReadLine().Split(','); 
       dataTable.Rows.Add(totalData[0], totalData[1], totalData[2], totalData[3], totalData[4] 
        , totalData[5], totalData[6], totalData[7], totalData[8]); 
      } 

      DataView dv = new DataView(dataTable); 
      dataGridView1.DataSource = dv; 

     } 

    } 

ユーザーが入力を "A3"として書き込むように1つのテキストボックスを設定しました。この入力の結果を " 405 "私はExcelプログラムのようなものです...私は定義されたデータテーブルでどうすればいいですか? 1CSVファイルで定義されている指定されたセルアドレスの値を見つけよう

+0

あなたはそれを達成しようとしましたか? yiuが既にデータを読み込んでいる場合は、3行目をとり、最初のエントリを選択してください。どうしたの? – HimBromBeere

+0

指定された列に従って行インデックスを特定する方法はありません。私はdatagridviewにデータを表示する必要はありません。私は主な問題点を説明するためにそれを示しました。 – utdlegend

答えて

0

私はそれを完了するためにalgoを与えることができます。

  1. 列名と第二の行インデックスであるとして、あなたのようなあなたの値を取得しますので、アルファベット+数字の
  2. が第1の値を取るである配列であなたの一貫した入力を分割:

string fieldName = "A"; int fieldRow = 3; int myval = 0;

for (int i = 0; i < Table.Rows.Count-1; i++) //Looping through rows 
    { 
     if (fieldRow == i) 
     { 
       myval = Table.Rows[i]["fieldName"]; //Getting my field value 
       break; 
      } 

    } 
+0

"fieldName"の二重引用符を削除する必要がありました。ありがとうございました。 – utdlegend