【问题标题】:Add column and Update a DataTable with lookup data添加列并使用查找数据更新 DataTable
【发布时间】:2011-05-12 03:57:03
【问题描述】:

我有一个从外部源加载数据的 DataTable,其中一列是 int。 我想向 DataTable 添加一列,其中包含对该 int 的描述。 我有一本字典,或者在某些情况下是这样的:

Pair<int,string> mapping_values[] = { 
   new Pair<String, int>("start", 3),
   new Pair<String, int>("end", 6),
   ... etc.
};

DataTable 包含一个“status_value”,一个映射到 mapping_values 中的 int 的整数

DataTable tbl = ...;
tbl.Columns.add("Status Text",typeof(string));

现在,我想用这个新的状态文本列的值填充 mapping_values 中的字符串,其中 tbl["status_value"] 匹配整数(在本例中为 3 或 6)并填写“start”或“end”。 linq 可以在这里帮助我,还是别的什么?

【问题讨论】:

    标签: c# linq datatable


    【解决方案1】:

    您需要在循环中手动填充该列。

    为此,您应该将映射放入字典中。

    例如:

    var mapping = mapping_values.ToDictionary(p => p.Value1, p => p.Value2);
    foreach(DataRow row in table.Rows) 
        row["Status Text"] = mapping[row.Field<int>("Status Value")];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-18
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      相关资源
      最近更新 更多