Cxgrid显示有关问题
www.MyException.Cn  网友分享于:2013-01-02  浏览:17次
Cxgrid显示问题

cxgrid中显示内置页面
点击选择下面+号  显示内置的信息 这个要在那个事件下写才能实现?? 也就是点击+号的时间是那个??
------解决方案--------------------
下列代码是仅让一行展开:


procedure TForm1.cxGrid1DBTableView1MouseDown(Sender: TObject;

  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

var

  AHitTest: TcxCustomGridHitTest;

  I: Integer;

begin

  AHitTest:=cxGrid1DBTableView1.ViewInfo.GetHitTest(X, Y);//取点击的位置

  if (AHitTest is TcxGridExpandButtonHitTest) and not TcxGridExpandButtonHitTest(AHitTest).GridRecord.IsData then//点击位置是"+"按钮和不在数据单元

    if TcxGridGroupRow(TcxGridExpandButtonHitTest(AHitTest).GridRecord).Expanded then//如果当前动作是展开

      with cxGrid1DBTableView1.ViewData do

        for I := RowCount - 1 downto 0 do //收拢其他被展开的项

          if (Rows[I] is TcxGridGroupRow) and (Rows[I] as TcxGridGroupRow).Expanded then

            if not (Rows[I] = TcxGridExpandButtonHitTest(AHitTest).GridRecord) then

              (Rows[I] as TcxGridGroupRow).Collapse(false);

end;