控制cxGrid 主從表的明細只展開一個

procedure TForm.ADetailDataControllerCollapsing(
  ADataController: TcxCustomDataController; ARecordIndex: Integer;
  var AAllow: Boolean);
var
  I: Integer;
  C: Integer;
begin
  AAllow := False;
  C := 0;
  for I := 0 to ADataController.RecordCount - 1 do
  begin
    if ADataController.GetDetailExpanding(I) then
      Inc(C);
    if C > 1 then
      AAllow := True;
  end;
end;


procedure TForm.ADetailDataControllerExpanding(
  ADataController: TcxCustomDataController; ARecordIndex: Integer;
  var AAllow: Boolean);
begin
  ADataController.CollapseDetails;
end;

procedure TForm.FormCreate(Sender: TObject);
begin
  inherited;
  //控制只展開一個明細
  cxGridVMain.DataController.OnDetailExpanding := ADetailDataControllerExpanding;
  cxGridVMain.DataController.OnDetailCollapsing := ADetailDataControllerCollapsing;

end;
相關文章
相關標籤/搜索