cxgrid使用cxDateEdit扩展分组数据

时间:2015-05-06 06:59:48

标签: delphi devexpress delphi-xe7 tcxgrid

我在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中显示的日期,我无法弄清楚如何刷新消息。

1 个答案:

答案 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;