delphi cxgrid 控件如可实现展开一行记录看其明细

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi cxgrid 控件如可实现展开一行记录看其明细相关的知识,希望对你有一定的参考价值。

例如现在cxgrid里面显示的是订单主表的数据,好像可以点一下某行记录前面的小加号就可以展开该笔订单的明细出来。这个如何实现啊,求高手指点。谢谢!

demo里有一个主从表的例子,需要设置两个level,分别设置好对应的datasource,KEY FIELD,即可 参考技术A 设置要收起的那一列的groupindex

cxgrid 就展开一行

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;

  

以上是关于delphi cxgrid 控件如可实现展开一行记录看其明细的主要内容,如果未能解决你的问题,请参考以下文章

在delphi中如何实现cxGrid控件一个单元格显示多个操作按钮

DELPHI里使用CXGRID给行加序号

delphi 能实现dbgrid 一行表格 显示 两行文字;即一行表格的文字可以换行。怎么实现?

delphi10 cxgrid控件怎么啦出来

cxgrid 就展开一行

delphi cxgrid控件中自定义筛选,用like时,要加% %才能实现模糊查询,如何不要输入% %就能实现。