仅根据所选的列表框项加载DataGridView一次
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅根据所选的列表框项加载DataGridView一次相关的知识,希望对你有一定的参考价值。
我正在使用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);
}
}
}
当我选择Vegetable时,只有与之相关的值应出现在dataGridview中。但是当我点击列表框中的项目时,我正在添加所有内容
如何只加载一次dataGridView值。我是视觉工作室和C#的新手。只是探索它的各种功能。如果有人能提供帮助,那就太好了。提前致谢
根据er-shoaib的回答,添加后,
dataGridView2.Rows.Clear();
在线上方
string a = listBox2.SelectedItem.ToString();
我重新加载了内容。
这很好,除非我不删除或进行任何更改。如果我删除一个选定的行,使用Button控件说芒果行,当我再次按List中的Fruits项时,这些项从头开始加载。如何在整个应用程序中保留更改。就像我关闭表格一样。对此有任何帮助。
单击列表框中的项目时,需要在将新行填充到数据网格视图之前清除所有行。
添加此行
dataGridView2.Rows.Clear();
在线上方
string a = listBox2.SelectedItem.ToString();
在for循环之前,清除datagrid,然后启动for循环并添加项目。
datagrid2.rows.clear().
以上是关于仅根据所选的列表框项加载DataGridView一次的主要内容,如果未能解决你的问题,请参考以下文章
如何将每行具有不同组合框项的 DataTable 绑定到 DataGridView?
UIImage 仅用于所选的 applicationActivities,但 NSString 用于所有 applicationActivities
带有按钮、组合框和文本框的 C# WinForms (.NET Framework) DataGridView:使用按钮添加新行以添加组合框项时出错