【发布时间】:2021-01-21 12:10:31
【问题描述】:
这是我的代码不应该接受 DataGridView 中的重复行,但在我的代码中,它是例外:
namespace Bind_DataGridView_Using_DataTable
{
public partial class Bind_DataGridView_Using_DataTable : Form
{
public Bind_DataGridView_Using_DataTable()
{
InitializeComponent();
}
DataTable table = new DataTable();
private void BtnAdd_Click(object sender, EventArgs e)
{
string idText = IDTxt.Text.Trim();
if (!string.IsNullOrEmpty(idText) && int.TryParse(idText, out int idValue))
{
if ((table.Select("Id = " + idValue)).Length == 0)
{
table.Rows.Add(idValue, fisrtTxt.Text.Trim(), SurNameTxt.Text.Trim(), ProfesTxt.Text.Trim());
//table.AcceptChanges();
dataGridView1.DataSource = table;
cleatTxts();
}
else
{
MessageBox.Show("Person Id already Exist");
}
}
else
{
label1.Text = "Person Id should not be empty && must be a valid int value";
}
}
}
}
【问题讨论】:
-
看图片...我不明白你为什么要删除 2 GHK SRYU DHGHJ ...和... 4 RTY RYY1 OIO?如果新 ID 与表
(table.Select("Id = " + idValue)).Length == 0中的现有 ID 相同,则代码正在“检查”......并且没有一个 ID 相同! (1,2,3,4)……所有的ID都不一样,为什么不加呢?如果您说名称相同,那么代码不应该也检查相同的名称吗?正如我在您之前的问题中所描述的那样,您将不得不弄清楚一些“特殊”处理。 -
要求是这样的,不仅ID保持列值也是唯一的,它不应该重复。请帮我解决这个问题
-
在对 ID 进行检查后,您似乎需要对名字和姓氏添加检查。如果ID是重复的,那么名字是什么都没关系……不要添加。如果ID不重复,则需要检查名字和姓氏,如果发现重复名称则不要添加,否则添加新的id和名称。
-
我是新手,你能帮我做吗?
-
在 ID 检查之后添加一个额外的检查......类似于......
(table.Select("FirstName = " + fisrtTxt.Text.Trim() + "AND LastName = " + SurNameTxt.Text.Trim()) ).Length == 0
标签: c# winforms datagridview