0

私は次のvb.netLINQクエリを持っています

Dim q = From row In dx.AsEnumerable
                Group row By G = New With {.Cat = row.Field(Of Integer)("catalogid")}.Cat,
                                 New With {.Backorder = row.Field(Of Integer)("backorder")}.Backorder Into pg = Group
                Select New With
                       {
                           .Cat = pg.Cat,
                           .Backorder = pg.Sum(Function(x) x.Backorder)
                       }

私はdxと呼ばれるこのデータテーブルを持っています

catalogid      backorder
1              5
1              10
2              1
2              5

Sum backorder同じ場所に列を作成したいcatalogidので、結果は次のようになります

catalogid      backorder
1              15
2              6

Select new with partで、何が問題になっていますか?

4

1 に答える 1

1

フォローしてみてください...

 var result = dx.AsEnumerable()
                .GroupBy(row => row.Field<int>("catalogid"))
                .Select(group => group.Sum(item => item.Field<int>     ("backorder")).CopyToDataTable();

また

var result= from s in dx.AsEnumerable()
            group s by s.Field<int>("catalogid") into grp
            select new { 
            CatalogId= grp.Key, 
            Back Order = grp.Sum(r => r.Field<int>("backorder"))
            };

DataTable datatbl = result.CopyToDataTable(); 
于 2012-10-27T09:42:28.190 に答える