【发布时间】:2021-08-21 00:36:43
【问题描述】:
我有一个带有 3 个参数的方法,可以向 DataGridView 添加行:
public void DGVadd(string item, int count, int price)
{
DataGrid.Rows.Add(item, count, price);
DataGrid.Update();
}
我只需单击按钮即可调用该方法:
private void button1_Click(object sender, EventArgs e)
{
DGVadd("item1", 1, 10);
}
问题是:我应该怎么做才能使同名的Items不会在DataGridView中占用多行,只有1个并使“计数”和“价格”增加?
感谢您的宝贵时间!
【问题讨论】:
-
嗯……你能不能不循环遍历网格数据并检查网格中是否已经存在“item1”?如果有...那么您将知道要更新计数和价格的哪一行。
-
使用提供
Add()方法的专用数据源(类对象),该方法根据标识符(项目类型)考虑重复项目,因此它可以添加到内部列表,如果项目是唯一的,否则,将这些值与具有相同标识符的现有项目相加。每个 Item 都是一个实现INotifyPropertyChanged的类对象——否则,循环您拥有的数据源或 DataGridView 的 Rows。