c# - 在 datagridview 中插入之前防止重复

标签 c# datagridview

我想在选择一个后添加(或插入)行,但首先我需要检查我添加的内容是否不重复,每次我输入两个相同的值时我都会得到奇怪的结果,我正在使用foreach 和现在的 for 语句,但这些都没有帮助我:

        private void plus()
    {
        for (int i = 0; i < dataGridView2.Rows.Count; i++)
        {
            if (textBox1.Text == dataGridView2.Rows[i].Cells[0].Value.ToString())
            {
                MessageBox.Show("duple");
                break;
            }
            else
            {
                dataGridView2.Rows.Add(textBox1.Text.Trim(), pictureBox3.Image, pictureBox6.Image);
                break;
            }
        }
        textBox1.SelectAll();
        textBox1.Focus();
    }

enter image description here

最佳答案

您正在尝试插入每个迭代。 插入应该在循环的末尾:

for (int i = 0; i < dataGridView2.Rows.Count; i++)
{
    if (textBox1.Text == dataGridView2.Rows[i].Cells[0].Value.ToString())
    {
        MessageBox.Show("duple");
        return;
    }
}

dataGridView2.Rows.Add(textBox1.Text.Trim(), pictureBox3.Image, pictureBox6.Image);

关于c# - 在 datagridview 中插入之前防止重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21385597/

相关文章:

vb.net - 如何在使用 VB.NET 在 DataGridView 中编辑单元格时获取当前列索引

c# - rowsRemoved 事件处理程序调用一次

c# - Stackoverflow 调用 ManagementScope.Connect();

c# - 在 WinRT 中绑定(bind)到 XAML 中的 DynamicObjects

c# - 子查询,在 Select 内部,不将 Order By 应用于基础查询

c# - 如何使这个 C# 函数可重用?

c# - DataGridView/ComboBox 需要两种显示状态(长和短)的信息

c# - 计算机锁定时 WebClient.DownloadFile 挂起

c# - 通用接口(interface)中的协变

.net - 为什么 DataGridView 上的 DoubleBuffered 属性默认为 false,为什么它受到保护?