我正在使用Visual Studio 2017开发WinForm应用程序。 我创建了一个列表框,如下所示。
当我第一次单击Fruits时,将出现以下dataGridview。
即,每当我按下水果时,我都应该获得上述数据网格。以及类似的蔬菜对应值。但是问题是当我再次单击水果一次时,这些值就被添加了。我再次得到相同的值,而不仅仅是保留它。这是我的代码。
public Form1()
{
FruitList.Add("Mango");
FruitList.Add("Apple");
InitializeComponent();
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
string a = listBox2.SelectedItem.ToString();
if (a == "Fruits")
{
toolStripStatusLabel1.Text = a;
dataGridView2.Columns.Add("key", "Fruit");
dataGridView2.Columns.Add("value", "Name");
foreach (var var in FruitList)
{
dataGridView2.Rows.Add("Fruit", var);
}
}
}
当我选择蔬菜时,只有与此相关的值应该出现在dataGridview中。但是,当我单击列表框中的项目时,我将所有事情加起来
如何仅一次加载dataGridView值。 我是Visual Studio和C#的新手。只是探索它的各种功能。如果有人可以帮助,那就太好了。预先感谢
根据er-shoaib添加后的答案,
dataGridView2.Rows.Clear();
在线上方
string a = listBox2.SelectedItem.ToString();
我重新加载了内容。
这很好,除非我不删除或进行任何更改。如果我删除选定的行,请使用Button控件说出Mango行,当我再次按下List中的Fruits项目时,这些项目将从头开始加载。如何进行更改保留在整个应用程序中。就像直到我关闭表格一样。任何帮助。
答案 0 :(得分:1)
单击列表框中的项目时,需要先清除所有行,然后才能在数据网格视图中填充新行。
添加此行
dataGridView2.Rows.Clear();
在线上方
string a = listBox2.SelectedItem.ToString();
答案 1 :(得分:0)
在循环之前,清除数据网格,然后开始循环并添加项目。
datagrid2.rows.clear().