我有2个表, Timesheet_Head 和 Timesheet_Detail 。
Timesheet_Head fields :
TimesheetID
Month
Year
Timesheet_Detail fields:
TimesheetID
ActivityDate
ActivityDesc
我想显示由月和年字段生成的部分记录,从第一天到该月的最后一天,点击操作按钮,例如:
No. date Description
1. 2/1/2016
2. 2/2/2016
3. 2/3/2016
4. 2/4/2016
... ...
29. 2/29/2016
有没有人有任何想法?提前谢谢。
答案 0 :(得分:1)
据我所知,你正在努力实现这样的目标: expected behavior
所以行动'生成'会看起来像那样:
public PXAction<Filter> generate;
[PXUIField(DisplayName = "Generate", MapEnableRights = PXCacheRights.Update, MapViewRights = PXCacheRights.Update, Visible = true)]
[PXButton()]
public virtual IEnumerable Generate(PXAdapter adapter)
{
Filter filter= TranFilter.Current;
if(filter==null || filter.Year==null)
return adapter.Get();
FinYear year = PXSelect<FinYear, Where<FinYear.year, Equal<Required<FinYear.year>>>>.Select(this, filter.Year);
for (DateTime date = year.StartDate ?? DateTime.Now; date < year.EndDate; date = date.AddDays(1))
{
Detail row = new Detail();
row.Date = date;
Details.Insert(row);
}
return adapter.Get();
}
如果您想实际使用一年而非财务年度,我猜您应该使用.Net DateTime类来获取该期间的第一个和最后一个日期。