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;