私はこれを行う方法を考え出しました。グラフの拡張機能では、「概要」ビューを書き直して、IEnumerableの「サマリー」デリゲートを使用して、設定したチェックボックスの条件を満たす行のみを返します。ウィジェットへ:
public PXSelectJoin<EPSummaryApprove
, LeftJoin<EPEarningType, On<EPEarningType.typeCD, Equal<EPSummaryApprove.earningType>>>
, Where2<Where<EPSummaryApprove.taskApproverID, Equal<Current<EPSummaryFilter.approverID>>, Or<Where<EPSummaryApprove.taskApproverID, IsNull, And<EPSummaryApprove.approverID, Equal<Current<EPSummaryFilter.approverID>>>>>>
, And2<Where<EPSummaryApprove.weekId, GreaterEqual<Current<EPSummaryFilter.fromWeek>>, Or<Current<EPSummaryFilter.fromWeek>, IsNull>>
, And2<Where<EPSummaryApprove.weekId, LessEqual<Current<EPSummaryFilter.tillWeek>>, Or<Current<EPSummaryFilter.tillWeek>, IsNull>>
, And2<Where<EPSummaryApprove.projectID, Equal<Current<EPSummaryFilter.projectID>>, Or<Current<EPSummaryFilter.projectID>, IsNull>>
, And2<Where<EPSummaryApprove.projectTaskID, Equal<Current<EPSummaryFilter.projectTaskID>>, Or<Current<EPSummaryFilter.projectTaskID>, IsNull>>
, And<Where<EPSummaryApprove.employeeID, Equal<Current<EPSummaryFilter.employeeID>>, Or<Current<EPSummaryFilter.employeeID>, IsNull>>
>
>
>
>
>
>
> Summary;
protected IEnumerable summary()
{
var epsf = (EPSummaryFilter)Base.Filter.Cache.Current;
var epse = PXCache<EPSummaryFilter>.GetExtension<EPSummaryFilterExt>(epsf);
foreach(var res in Base.Summary.Select())
{
var sum = (EPSummaryApprove)res;
if (epse != null)
{
if (epse.ExcludeApproved == true)
{
if (sum.IsApprove != true)
{
yield return res;
}
}
else
yield return res;
}
else
yield return res;
}
}