我的表单中有两个listbox元素。 listbox1中的项目表示我的DataGridView中的列, 我的listbox2中的项目代表我的DataGridView中的行。
foreach (var el in listBox1Elements)
{
// code...
dataGridView1.Columns.Add(col);
}
由于可以添加或删除listbox1中的项目,因此我的当前解决方案存在问题。
dataGridView1.Rows.Add("test","some","data","even","more","data");
我想知道是否有使用List的解决方案。 然后我的代码看起来像这样:
foreach (var el in listBox2Elements)
{
myList.add("some text");
}
dataGridView1.Rows.Add(myList);
答案 0 :(得分:6)
像
这样的东西 foreach (var el in listBox2Elements)
myList.add("some text");
foreach (var item in myList)
dataGridView1.Rows.Add(item.., item.., item..);
或
dataGridView1.DataSource = myList.ToList()
答案 1 :(得分:1)
怎么样:
foreach (var el in listBox2Elements)
{
myList.add("some text");
}
dataGridView1.Rows.Add(myList.ToArray());
答案 2 :(得分:0)
这是一个没有商店对象的艰巨任务。 你可以轻松地去:
//Not taking guarantee for this approach
Store.DataSource.add(new object[]{"some text"});
Store.DataBind();
或者你定义一个新的数据源对象并用列表项填充它(通过循环)并在执行之后再次执行:
(list<string>) data_list.add("some text");
//repopulate data object and set a Store.DataSource;
Store.dataBind();
并删除对象,您可以从list<string>
项中删除它们,并像上面一样更新商店
//population for the data object:
for(int x=0; x<= data_list.length(); x++)
{
data.add(new object[]{data_list[x]});
}