C#DataTable使用Linq编辑特定行中的单元格

时间:2014-01-17 11:42:55

标签: c# linq datatable

我有一个DataTable表和几个TextBox控件。当我单击按钮时,我需要更改“值”列,其中ID与文本输入匹配。

DataTable table = new DataTable();
table.Columns.Add("ID", typeof(string));
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Value", typeof(decimal));
table.Columns.Add("Unit", typeof(string));

string myId=txtId.Text;
decimal myValue=txtValue.Text;

我知道如何检查表中是否存在ID。如何更改“值”字段的值?

bool contains = table.AsEnumerable().Any(row => myID == row.Field<string>("ID"));
if (contains == true)
{
     //Change the value of row.Field<string>("Value")!!
}

感谢您的帮助。

编辑: 这是我的解决方案:

string s = "ID='" + myId + "'";
DataRow dr = table.Select(s).FirstOrDefault();
dr["Value"] = myValue;

1 个答案:

答案 0 :(得分:1)

试试这个:

DataRow dr = table.Select("ID=myId").FirstOrDefault(); 
dr["Value"] = "your value";