为了账号安全,请及时绑定邮箱和手机立即绑定

根据选择的列表框项仅加载一次 DataGridView

根据选择的列表框项仅加载一次 DataGridView

C#
MMTTMM 2022-06-12 11:25:15
我正在使用 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 值。我对视觉工作室和 C# 完全陌生。只是探索它的各种功能。如果有人可以提供帮助,那就太好了。提前致谢根据 er-shoaib 添加后的回答, dataGridView2.Rows.Clear();在线上方string a = listBox2.SelectedItem.ToString(); 我重新加载了内容。这很好,除非我不删除或进行任何更改。如果我删除选定的行,说 Mango 使用 Button 控件,当我再次按下 List 中的 Fruits 项时,这些项将从头开始加载。如何使更改保留在整个应用程序中。就像我关闭表格一样。对此有任何帮助。
查看完整描述

2 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

当您单击列表框中的项目时,您需要在将新行填充到数据网格视图之前清除所有行。

添加这一行

dataGridView2.Rows.Clear();

在线上方

string a = listBox2.SelectedItem.ToString();


查看完整回答
反对 回复 2022-06-12
?
HUWWW

TA贡献1874条经验 获得超12个赞

在 for 循环之前,清除数据网格,然后开始 for 循环并添加项目。

    datagrid2.rows.clear().


查看完整回答
反对 回复 2022-06-12
  • 2 回答
  • 0 关注
  • 227 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号