1

グリッドを日付でグループ化しました(列名を取得して、「その列でグループ化」と表示されている場所にドラッグしました)。ただし、グリッドが表示されると、すべての日付が「閉じられている」ため、データを表示するにはそれらを展開する必要があります。それは大丈夫ですが、現在の日付をすでに展開することは可能かどうか疑問に思います(他のすべては閉じたままにする必要があります!)ので、展開クロスをクリックする必要はありませんか?

4

2 に答える 2

0
procedure TForm1.Button1Click(Sender: TObject);
var
  intLoop,
  vValue: Variant;
begin
  for intLoop := 0 to self.cxGrid1DBTableView1.DataController.RowCount - 1 do
  begin
    if self.cxGrid1DBTableView1.ViewData.Rows[IntLoop] is TcxGridGroupRow then
    begin
      if TcxGridGroupRow(cxGrid1DBTableView1.ViewData.Rows[IntLoop]).Level = cxGrid1DBTableView1MyDate.GroupIndex  then
      begin
        vValue:=TcxGridGroupRow(cxGrid1DBTableView1.ViewData.Rows[IntLoop]).Value ;
        if vValue = Date() then
        begin
          TcxGridGroupRow(cxGrid1DBTableView1.ViewData.Rows[intLoop]).Expand(False);
        end;
      end;
    end;
  end;
end;
于 2013-03-09T07:22:35.077 に答える
0

これを試してみてください。たとえば、TButtonなどの他のイベントハンドラーにコードを配置できます。

procedure TForm1.FormCreate(Sender: TObject);
begin
    //aDBTableView1.ViewData.Expand(true);            // this is how to expand all records 
    aDBTableView1.ViewData.Records[YourRecordNumber].Expand(true);   // this is how to expand by a given record
end;

OK、次を試してください

procedure TForm1.FormCreate(Sender: TObject);
begin
  with cxGrid1DBTableView1 do
  begin
    DataController.DataSource.DataSet.Locate('YourDateFieldName',DateTimeToStr(Date),
    [loPartialKey]);
    ViewData.Records[DataController.FocusedRowIndex].Expand(True);
  end;
end;
于 2013-03-08T23:37:18.657 に答える