happyleo12
happyleo12
采纳率80.8%
2017-06-21 01:58 阅读 859

C# winform datagridview的问题

想做一个输入文本,若文本数据在表里,则删除这个数据,然后,删除第二个的时候,第一个数据又出现在表中了,请问有什么办法?不使用数据库的,存放在datatable里

  private void txtPN_KeyPress(object sender, EventArgs e)
        {
            string PartNumber = txtPN.Text.ToString();

            if (!this.IsNullFilePath())
            {
                txtPN.Text = "";
                return;
            }

            DataTable newdt = new DataTable();

            newdt = this.CompareList()[1];

            if (PartNumber != "")
            {
                DataRow[] drs = newdt.Select(@"pn='" + PartNumber + "'");
                if (drs.Length > 0)
                {
                    this.txtslot.Text = drs[0]["slot"].ToString();
                    newdt.Rows.Remove(drs[0]);
                    dataGridView1.DataSource = newdt;
                }
                else
                {
                    MessageBox.Show("此PN不存在");
                }
            }
        }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • u013901830 我不是大侠 2017-06-21 01:58

    newdt = this.CompareList()[1];,你的数据每次都是从这提取的吧,你只是remove当前newdt 的数据了,

    点赞 评论 复制链接分享

相关推荐