1

我按日期对网格进行了分组(抓住列名并将其拖到“按该列分组”的位置)。但是,当显示网格时,所有日期都“关闭”,所以我必须展开它们以查看数据。没关系,但我想知道是否有可能已经展开当前日期(所有其他日期都应该保持关闭!)所以我不必单击展开十字?

4

2 回答 2

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;

好的尝试以下

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 回答
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 回答