2010/12/03(Fri) 16:59:35 編集(投稿者)
■No55499 (shu さん) に返信
> ■No55497 (daibo さん) に返信
> 先頭行は1回だけ読込んで下さい。(whileループの前)
> これだと全行をタイトル行とデータ行の両方として扱う事になってしまいます。
DataSet dataset_sam = new DataSet();
dataset_sam.Tables.Add("sample");
dataset_sam.Tables["sample"].Columns.Add();
dataset_sam.Tables["sample"].Columns.Add();
dataset_sam.Tables["sample"].Columns.Add();
dataset_sam.Tables["sample"].Columns.Add();
dataset_sam.Tables["sample"].Columns.Add();
System.IO.StreamReader StreamReader = new System.IO.StreamReader(@"C:\csv.csv", System.Text.Encoding.GetEncoding(932));
//DataSetの作成
DataRow row = dataset_sam.Tables["sample"].NewRow();
string[] stringBuffer = StreamReader.ReadLine().Split(',');
foreach (string s in stringBuffer)
{
dataset_sam.Tables["sample"].Columns.Add(s);
}
while (StreamReader.Peek() != -1)
{
for (int counter = 2; counter < row.ItemArray.Length; counter++)
{
row[counter] = stringBuffer[counter];
}
dataset_sam.Tables["sample"].Rows.Add(row);
}
StreamReader.Close();
dataGridView1.DataSource = dataset_sam;
dataGridView1.DataMember = "sample";
こういうことでしょうか?