2017-11-23 4 views
-3

私は日々の収集に関するレポートを作成しました。 paymentTypeによるコレクションの要約が必要です。日付範囲選択ツールがあるため、データ表を使用して日次コレクションレポートを作成しています。要約はボタンでリンクされます。私はサマリーの作成方法が不思議です。誰かが私の手伝いをすることができますか?要約データテーブル

+1

をgayu96 @に関して - これは '私のために仕事をするサイトではありません - それは、Q&Aサイトです。喜んで「いくつか」を表示すると、人々は喜んで助けてくれるでしょう。 –

答えて

0

は、次の試してみてください。

  DataTable dt = new DataTable(); 
      dt.Columns.Add("Name", typeof(string)); 
      dt.Columns.Add("Type", typeof(string)); 
      dt.Columns.Add("Amount", typeof(decimal)); 
      dt.Rows.Add(new object[] {"John", "A", 1.23}); 
      dt.Rows.Add(new object[] { "Harry", "B", 4.56 }); 
      dt.Rows.Add(new object[] { "Dick", "C", 7.89 }); 
      dt.Rows.Add(new object[] { "Mary", "B", 6.54 }); 
      dt.Rows.Add(new object[] { "Pat", "D", 1.23 }); 
      dt.Rows.Add(new object[] { "Dana", "A", 8.76 }); 
      dt.Rows.Add(new object[] { "Rob", "C", 9.65 }); 

      var groups = dt.AsEnumerable().GroupBy(x => x.Field<string>("Type")).ToList(); 

      DataTable summary = new DataTable(); 
      summary.Columns.Add("Type", typeof(string)); 
      summary.Columns.Add("Amount", typeof(decimal)); 

      foreach (var group in groups) 
      { 
       DataRow newRow = summary.Rows.Add(); 
       newRow["Type"] = group.Key; 
       newRow["Amount"] = group.Select(x => x.Field<decimal>("Amount")).Sum(); 
      }