【问题标题】:Get item from grouped dataTable c#从分组的dataTable c#中获取项目
【发布时间】:2019-07-03 10:46:15
【问题描述】:

我想从dataRow 获取item[col],但dt1.rows 中的项目返回两个元素item[0] 包含唯一ID,item[1] 返回我想要添加到行的所有属性

var dataSet = ToDataSet(rows.GroupBy(a => a["UniqueID"]).ToDictionary(gdc => 
gdc.FirstOrDefault()).ToList());

DataTable dt1 = dataSet.Tables[0];

foreach (DataRow item in dt1.Rows)
{
    row = new Dictionary<string, object>();

    foreach (DataColumn col in dt.Columns)
    {
        row.Add(col.ColumnName, item[col]);
    }
    rows.Add(row);}`

    //item[col] return two element, the first element contains uniqueID and the second element contains all attributes              
}

我怎样才能得到item.ItemArray[0]

【问题讨论】:

  • 您总是希望所有列都有第 0 个数字项目,还是希望每列都有项目?
  • string[] 结果 = dt1.AsEnumerable().Select(x => x.Field(0)).ToArray();
  • 感谢您的回答,但这不起作用,我希望 item UniqueName 获取 item.itemArray[1] 中的列,如图片
  • 我想要获取 Item.itemarray[0] [1] 吗?如何做到这一点
  • 你想从uniqueId检索xxxxx,对吗?

标签: c# datatable group-by dataset datarow


【解决方案1】:

您可以从当前的item 中获取包含 UniqueID 作为键的行,例如,

var results = dt1.AsEnumerable().Select(x => x.Field<string>(0)).ToList();

或者你也可以使用列名代替索引,

var results = dt1.AsEnumerable().Select(x => x.Field<string>("UniqueID")).ToList();

【讨论】:

    猜你喜欢
    • 2019-12-23
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 2015-06-16
    • 1970-01-01
    • 2022-12-12
    • 2013-04-13
    相关资源
    最近更新 更多