【发布时间】:2013-09-03 02:58:09
【问题描述】:
以上是我的一个数据表的屏幕截图。我正在尝试将此数据转换为以下格式,以便可以将其绑定到我的一个网格。我尝试过 LINQ,但没有成功。 请任何人帮助我如何做到这一点。不一定是 LINQ,但我认为使用 LINQ 会更容易
【问题讨论】:
-
您能展示一下您是如何尝试转换数据的吗?
-
首先我从“对象”中获取不同的列,如下所示 var distinctColumnNames = dataSet.Tables["reportColumns"].AsEnumerable() .Select(row => new { colObject = row.Field("Object"), }).Distinct();
-
然后我正在运行以下 Linq 语句 foreach (var columnName in distinctColumnNames) { var dataRow = dataSet.Tables["reportColumns"].AsEnumerable() .Select(rowData => new { colAttribute = rowData .Field
("Attribute"), colValue = rowData.Field ("Value"), colStandard = rowData.Field ("Standard") }); } -
我缺少的一点是如何在第二个语句中应用 where 子句(例如 where dataRow.Object == "columnName")。我知道我没有在这里选择 Object 列,但是在 dataRow 中选择该列之后,where 子句将如何应用?
-
我已经更改了我的第二个 Linq Select 语句并添加了“对象”列 foreach (var columnName in distinctColumnNames) { var dataRow = dataSet.Tables["reportColumns"].AsEnumerable() .Select( rowData => new { colObject = rowData.Field
("Object"), colAttribute = rowData.Field ("Attribute"), colValue = rowData.Field ("Value"), colStandard = rowData .Field ("标准") }); }
标签: c# linq datatable datatable.select