2

「いいえ」列と「合計」列を持つデータテーブルがあります。各「いいえ」の「合計」列の合計を戻したいと思います。以下を試してみましたが、構文に苦労しているため、いくつかのエラーが発生しています。

var Values =
        (from data in DtSet.Tables["tblDetails"].AsEnumerable()
         group data by data.Field<"No">
         select new
         {
             name_1 = data.Field<double>("No"),
             name_2 = data.Field<double>("Total"),
         }
         );   
4

2 に答える 2

5

Totalこれにより、プロパティ内のフィールドの合計と、name_2プロパティ内のグループ化が得Noられname_1ます (ここではより良い名前付けが必要だと思います)。

var Values = from row in DtSet.Tables["tblDetails"].AsEnumerable()
             group row by row.Field<double>("No") into g
             select new
             {
                 name_1 = g.Key,
                 name_2 = g.Sum(r => r.Field<double>("Total"))
             };

名前について検討しNoTotalSum代わりに。

于 2013-01-22T18:38:01.860 に答える
1

あなたはlinqを使い始めますが、古き良きものDataTableには独自の方法があります:

var total = DtSet.Tables["tblDetails"].Compute("sum(Total)", "No = x");

x「いいえ」列の値がわからないので、そのままにしておく必要があります。部品"No = x"はフィルターです。null または空の文字列の場合、すべての行が計算に使用されます。

于 2013-01-22T18:42:14.637 に答える