我在cxGrid中显示的数据按日期分组(折叠)。 有没有办法可以使用cxDateEdit为所选日期“仅”扩展此分组数据?
现在,我可以管理的是使用按钮来拼贴或扩展所有数据:
procedure TArchive.EXPANDClick(Sender: TObject);
begin
cxGrid1DBTableView1.ViewData.Expand(True);
end;
procedure TArchive.COLLAPSEClick(Sender: TObject);
begin
cxGrid1DBTableView1.ViewData.Collapse(True);
end;
我想仅针对cxDateEdit中显示的日期展开记录。如果找不到所需日期的数据,可能会显示一条消息。
编辑: 我找到了一种方法:
procedure TARCHIVE.cxDateEdit1PropertiesChange(Sender: TObject);
begin
with cxGrid1DBTableView1 do
begin
DataController.DataSource.DataSet.Locate('FOR_DATE',cxDateEdit1.Date,
[loPartialKey]);
ViewData.Records[DataController.FocusedRowIndex].Expand(True);
end;
end;
但是,如果cxGrid中不存在cdDateEdit中显示的日期,我无法弄清楚如何刷新消息。
答案 0 :(得分:0)
知道了:
procedure TARCHIVE.cxDateEdit1PropertiesChange(Sender: TObject);
begin
with cxGrid1DBTableView1 do
begin
if DataController.DataSource.DataSet.Locate('FOR_DATE',cxDateEdit1.Date,
[loPartialKey]) then begin
ViewData.Records[DataController.FocusedRowIndex].Expand(True);
end else begin
ShowMessage('No entries for desired date.');
end;
end;
end;