Telerik RadGrid に IQueryable DataSource を設定しようとしていますが、そのグリッド内に 5 つの合計列を含めます。個々のレポートを作成するときに Totals 用に個別の関数を作成しましたが、それらをグリッド用の現在の LINQ ステートメントに反復するのに問題があります。
現在の LINQ ステートメントは次のようになります。
public static IQueryable GetUnapprovedTimesheets(string Period)
{
DataContext Data = new DataContext();
var Times = (from c in Data.System_Times
where c.Period == Period && c.Status == 1
orderby c.Employee.LName
select c).GroupBy(s => s.EmployeeID).Select(x => x.FirstOrDefault());
return Times;
}
このステートメントは、入力された期間のタイムシートを取得し、ステータスが 1 のレコードを表示します。これらは、EmployeeID によってグループ化されて表示されます。このステートメントはすべてを適切にグリッドに取り込みますが、定期、残業、出張、およびサブの合計も追加したいと思います。
動的レポート用に個別に作成した関数は、次のようになります。
public static decimal? GetTotalReg(int EmployeeID, string Period)
{
DataContext Data = new DataContext();
var Total = (from c in Data.Times
where c.EmployeeID == EmployeeID && c.Period == Period && c.PayCode == "211"
select c.Hours);
return Total.Sum();
}
2 番目のステートメントを最初のステートメントに組み込む方法はありますか? (1 つだけでなく 5 つの Sum ステートメントを組み込む必要があることに注意してください)
この 1 つのステートメントは、RadGrid の IQueryable DataSource として使用され、RadGrid の DataField=" " によって呼び出されます。