数据表:检查列中的现有值

时间:2018-10-02 09:56:42

标签: asp.net datatable

我有两个DataTable,DataTable1将其某些值发送到DataTable2。我想做的是,如果DataTable2中已经存在DataTable1值,那么这些值将不会添加到DataTable2中。

我这里有DataTable1中的值

protected void ASPxGridView1_CustomButtonCallback(object sender, ASPxGridViewCustomButtonCallbackEventArgs e)
{
    if (e.ButtonID != "ADD") return;
    int id = e.VisibleIndex

    int DeliveredQty = Convert.ToInt32(ASPxGridView1.GetRowValues(id, "Delivered Qty"));
    int InventoryID = Convert.ToInt32(ASPxGridView1.GetRowValues(id, "InventoryID"));

现在,如果行中已经存在InventoryID,我想检查DataTable2的值。

这就是我最终得到的

int id = InventoryID;

DataTable dt = DataTable2;
DataRow[] dr = dt.Select(id.ToString());

if (dr == null)
{ 
    "if it does not exist, values will be addded"
}
else
{
    "prompt user that values exist"
}

正确的方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用Linq来检查DataTable列中的值

bool valueExists = dt.AsEnumerable().Any(x => x.Field<string>("ColumnName") == "abcd");