投入分组行

时间:2011-04-23 04:29:21

标签: c# .net linq ado.net

我不知道为什么我得到以下异常我怎么能投入分组行?分组行意味着什么

enter image description here

3 个答案:

答案 0 :(得分:1)

快速回答:将代码更改为

foreach(var InvoiceHeader in InvoiceHeadercollection)

linq代码生成了一个新类,您可以这样想:

class AutoGeneratedClass :  IEnumerable<DataRow>
{
    public string Key { get; }  // The InvoiceAccount field
}

(它不叫“AutoGeneratedClass”;我只是使用它,所以它遵循我们所知的语法)。因为这个自动生成的类没有名称,所以必须使用“var”。

答案 1 :(得分:1)

查看您的LINQ查询,您使用的是group by - InvoiceHeaderCollection 不是数据行的集合,它是IGrouping<DataRow>,是一个不同的组每个不同的“发票帐户”。   - 你想对分组做什么?或者您是否打算通过Invoice帐户订购您的行?

答案 2 :(得分:0)

InvoiceHeaderCollection是一组群组,这些群组类似于:

      Key               Value
 invoice account1      datarow1 //the value is a `DataRow`
                       datarow2
                       datarow4
 invoice account2      datarow3
 invoice account3      datarow5 

所以我认为你需要:

foreach(var g in InvoiceHeaderCollection)
{
    DataRow[] rows = g.ToArray();   //to get all the DataRows in the group
    //maybe another loop through the rows
}