cxgrid 使用 cxDateEdit 展开分组数据
cxgrid expand grouped data using cxDateEdit
我在 cxGrid 中显示的数据按日期分组(折叠)。
有没有一种方法可以使用 cxDateEdit 为选定日期扩展此分组数据 "only"?
现在,我所能做的就是使用按钮折叠或展开所有数据:
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 中不存在,我不知道如何闪烁消息。
知道了:
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;
我在 cxGrid 中显示的数据按日期分组(折叠)。 有没有一种方法可以使用 cxDateEdit 为选定日期扩展此分组数据 "only"?
现在,我所能做的就是使用按钮折叠或展开所有数据:
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 中不存在,我不知道如何闪烁消息。
知道了:
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;