0

我在 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;

但是,如果 cdDateEdit 中显示的日期在 cxGrid 中不存在,我无法弄清楚如何闪烁消息。

4

1 回答 1

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;
于 2015-05-06T11:00:09.603 回答