C# 如果gridview中不存在,则添加值(行)
我想从combobox文本属性在datagridview(无绑定)中添加一些行。 但是我需要首先检查它是否已经添加,它是的,然后显示一条消息,如果还没有添加,那么在gridview中添加组合的文本值。 我正在使用VS2010和C# 我搜索了很多可用的解决方案,但没有与我合作 我试图在行上循环,但我做不到,请帮助 这是我的代码添加值,但如何检查C# 如果gridview中不存在,则添加值(行),c#,visual-studio-2010,datagridview,combobox,C#,Visual Studio 2010,Datagridview,Combobox,我想从combobox文本属性在datagridview(无绑定)中添加一些行。 但是我需要首先检查它是否已经添加,它是的,然后显示一条消息,如果还没有添加,那么在gridview中添加组合的文本值。 我正在使用VS2010和C# 我搜索了很多可用的解决方案,但没有与我合作 我试图在行上循环,但我做不到,请帮助 这是我的代码添加值,但如何检查 dgv_standards.Rows.Add(cbo_standard.SelectedValue.ToString(), cbo_standard.Te
dgv_standards.Rows.Add(cbo_standard.SelectedValue.ToString(), cbo_standard.Text);
我猜您的
DataGridView
有两列(?)。因此,如果要检查某行是否包含第一列字符串,可以执行以下操作:
根据OP评论更新:
与第二行类似,有
row.Cells[1]
为什么不能在行上循环?如何访问每行单元格值?您看到了什么错误?感谢您的回复,您的想法很清楚,但是如果行存在,则简单消息和中断,但是如果(不存在),则添加行。想象一下,如果现有行位于第三个位置,那么循环将检查第一行(已经不相等),因此它将添加新行,但实际情况是,现有行位于第三个位置感谢您的回复,您的想法很清楚,但是如果行存在,则简单消息和中断,但是如果(不存在),则添加行。想象一下,如果现有行位于第三个位置,那么循环将检查第一行(已经不相等),因此它将添加新行,但实际情况是,现有行位于第三个位置position@user3213767按住一个初始化为false
的boolean
。首先在所有行上运行,如果其中一行是您要查找的,则将其设置为true
并断开。下一个代码将测试布尔值,如果为false,您可以添加行,否则,继续。非常感谢。最好的。。真的谢谢你。。。你能把问题标记为已回答并投票吗?因为我的名声不好,所以我不能这么做number@user3213767不,我不能把我自己的问题标为被接受的答案,也不能投赞成票。。我认为你应该能够标记为答案(你试过点击“V”吗?)。
boolean found = false;
foreach (DataGridViewRow row in dgv_standards)
{
if (row.Cells[0].Value == cbo_standard.SelectedValue.ToString())
{
// row exists
found = true;
MessageBox.Show("Row already exists");
break;
}
}
if (!found)
{
dgv_standards.Rows.Add(cbo_standard.SelectedValue.ToString(), cbo_standard.Text);
}