2016-09-03 13 views
0
DataTable dt = new DataTable(); 
DataRow dr = dt.NewRow(); 
dt.Columns.Add("name1", typeof(string)); 
dt.Columns.Add("name2", typeof(string)); 
dt.Columns.Add("name3", typeof(string)); 
dt.Columns.Add("name4", typeof(string)); 
dt.Columns.Add("name5", typeof(string)); 
for (int i = 0; i < 6; i++) 
{ 
    try 
    { 
     dr[i] = dt.Rows.Add(); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.ToString()); 
     return; 
    } 
} 
dataGridView1.DataSource = dt; 

「列5が見つかりません」というエラーが表示されます。 i < 6i < 5に変更すると、すべて正常に動作します。 5行以上を追加するには?ありがとうございました。DataGridviewに行を動的に追加できません

+0

それはあなたが何をしようとして不明です。新しい 'DataRow'を取得した後、' DataTable'に5列を追加し、 'DataRow'の各列に対して、新しい' DataRow'を作成して前の 'DataRow'の中に格納しようとします。 ..? –

+0

私はデータテーブルに行を追加しようとしています。 –

+0

まず、列を追加する必要があります。その後、行を追加します。次に例を示します。 'dt.Columns.Add(" C1 "); dt.Columns.Add( "C1"); dr.Rows.Add( "a"、 "aa"); dr.Rows.Add( "b"、 "bb"); ' –

答えて

0

これを試してみてください:

DataTable dt = new DataTable(); 
    dt.Columns.Add("name1", typeof(string)); 
    dt.Columns.Add("name2", typeof(string)); 
    dt.Columns.Add("name3", typeof(string)); 
    dt.Columns.Add("name4", typeof(string)); 
    dt.Columns.Add("name5", typeof(string)); 

    for (int i = 0; i < 6; i++) 
    { 
     try 
     { 
      dt.Rows.Add("a", "b", "c", "d", "e"); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
      return; 
     } 
    } 
    dataGridView1.DataSource = dt; 
+0

ありがとうございました。 –

関連する問題