使用lambda,我想根据以下条件替换datatable列item_type
和item_status
的值:
command.CommandText = "select [item no], item_type, item_status from dbo.GetItems()";
command.CommandType = CommandType.Text;
da.SelectCommand = command;
da.Fill(dt);
dgItems.DataSource = dt;
我想要这样的事情:
dgItems.DataSource = dt.Select(...);
答案 0 :(得分:0)
我同意,如果可能的话,在SQL代码中执行此操作以获取所需数据将是最佳选择。
回答问题:
Array.ForEach(dt.Rows.Cast<DataRow>().ToArray(),
row =>
{
if (row.Field<string>("item_type") == "A")
row.SetField("item_type", "Apple");
else if (row.Field<string>("item_type") == "B")
row.SetField("item_type", "Banana");
if (row.Field<string>("item_status") == "A")
row.SetField("item_status", "Apple");
else if (row.Field<string>("item_type") == "B")
row.SetField("item_status", "Banana");
});
这将修改原始DataTable
。