大佬教程收集整理的这篇文章主要介绍了DataGridViewRow 计数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
逻辑
If `rows` > 0
loop `rows` {
if `row name value` equal `db name column`
- increase value
else
// it adds new row if Db record is not already in grID vIEw
- add new
}
else
// Happen only once for first input (when there is no row)
- add new
这就是我试图构建的逻辑,但我有重复行问题(错误)
截图
代码
// database name column
String searchValue = dt.Rows[i]["name"].ToString();
if @R_618_9579@ctedItems.RowCount > 0)
{
foreach (DataGrIDVIEwRow row in SELEctedItems.Rows)
{
if (row.Cells[1].Value.ToString().Equals(searchvalue))
{
// increase qty
row.Cells["QtyH"].Value = Convert.ToInt32(row.Cells[2].value) + 1;
}
else
{
// Add new row
SELEctedItems.Rows.Add(new String[] {
dt.Rows[i]["ID"].ToString(),dt.Rows[i]["name"].ToString(),"1",dt.Rows[i]["SellPrice"].ToString(),(item.Price * item.Qty).ToString()
});
}
}
}
else
{
// Add new row
SELEctedItems.Rows.Add(new String[] {
dt.Rows[i]["ID"].ToString(),(item.Price * item.Qty).ToString()
});
}
PS:SELEctedItems
是我的 DataGrIDVIEw
问题
当 Lamp 不等于 Table 时,您的逻辑失败。当您循环 DataGridView 中的所有行时。
foreach (DataGridViewRow row in SELEctedItems.Rows)
因此,假设您的 SELEctedItems 已经有 2 行(Table 和 Lamp)。现在 searchValue 中有“灯”。您正在为 SELEctedItems 中的所有行循环。 对于第一次迭代,“Table”将不等于“Lamp”,将进入 else 并添加“Lamp”行。
逻辑应该如下:
If `rows` > 0
{
ismatched = false;
loop `rows` {
if `row Name value` equal `db Name column`
- set ismatched to true
- increase value
}
if(!ismatched)
{
// it adds new row if Db record is not already in grid view
- add new
}
}
else
// Happen only once for first input (when there is no row)
- add new
,
缓存到一个临时列表(两个块):
// Add new row
SELEctedItems.Rows.Add(new String[] {
dt.Rows[i]["Id"].ToString(),dt.Rows[i]["Name"].ToString(),"1",dt.Rows[i]["SellPrice"].ToString(),(item.Price * item.Qty).ToString()
});
放入临时列表并在最后添加新的一次(临时列表)!
If `rows` > 0
loop `rows` {
if `row Name value` equal `db Name column`
- increase value
else
// it adds new row if Db record is not already in grid view
- add new to temp list
}
else
// Happen only once for first input (when there is no row)
- add new to temp list
at last:
foreach (var value in tempList)
{
SELEctedItems.Rows.Add(new String[] {
value.Id.ToString(),value.Name,value.SellPrice.ToString(),(value.Price * value..Qty).ToString()
});
}
只是一个假设 - 试一试!
问候
以上是大佬教程为你收集整理的DataGridViewRow 计数全部内容,希望文章能够帮你解决DataGridViewRow 计数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。