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 に答える