2014-11-29 5 views
0

У меня есть arraylist, который хранит значения, когда пользователь выполняет действие во время выполнения. Теперь я пытаюсь отобразить эти значения в datagridview. поэтому то, что я делаю, добавляет элементы arraylist в datatable, а затем привязывает данные к Gridview. но то, что отображается в datagrid, это не значения arraylist. Вот мой код .please помощь или может кто-нибудь направить меня, как еще это может быть done..Thanks заранееотображение arraylist в datagridview

  foreach (Class1 aa in ds) 
     { 
      checkedListBox1.Items.Add(aa.id + "_" + aa.shape + "_" + aa.color); 

        DataTable dt = new DataTable(); 
        dt.Columns.Add("Shape"); 
        dt.Columns.Add("Colour"); 
        for (int i = 0; i < ds.Count; i++) 
        { 
        dt.Rows.Add(ds); 
         dt.Rows[i]["Shape"] = ds[i].ToString(); 
         dt.Rows[i]["Colour"] = ds[i].ToString(); 
         dataGridView1.DataSource = dt; 
       } 
       dataGridView1.Refresh(); 
     } 
    } 
+0

Установите источник данных вне петли – Sybren

+0

@Sybren все тот же :( – shosho

+0

ли 'ds' ваш ArrayList? А также, если вы можете обеспечить то, что вывод, который вы получаете. Это может помочь. –

ответ

1

Может быть, вы можете попробовать создать DataTable, а затем добавить необходимый DataRows к нему так:

foreach (Class1 aa in ds) 
    { 
     checkedListBox1.Items.Add(aa.id + "_" + aa.shape + "_" + aa.color); 

       DataTable dt = new DataTable(); 
       dt.Columns.Add("Shape"); 
       dt.Columns.Add("Colour"); 
       for (int i = 0; i < ds.Count; i++) 
       { 
        DataRow dRow = dt.NewRow(); 
        dRow["Shape"] = aa.shape; 
        dRow["Colour"] = aa.color; 
        dt.Rows.Add(dRow); 
      } 
      dataGridView1.DataSource = dt; 
      dataGridView1.Refresh(); 
    } 
} 

Надеюсь, это поможет.

Смежные вопросы