0

我的应用程序中有两个网格 (TcxGrid),每个网格位于表单的一侧。两个网格都显示链接数据,尽管它们可以单独垂直滚动。我想在中间面板中绘制箭头,显示记录链接到的另一个网格的线,如下例所示:

GridA   GridB
+---+   +---+
| a |---| a |
| b |   | i |
| c |\  | h |
| d | \ | g |
| e |  \| h |
| f |   | b |
+---+   +---+

抽奖过程很简单。我的麻烦在于确定记录位置。考虑到可能在两个网格中进行分组,我如何发现每个网格行/记录的垂直位置?

先感谢您。

4

1 回答 1

0

我发现可以通过这种方式获得网格记录的垂直位置:

网格视图具有属性ViewData.RowsRows是一个数组,它的每个元素都有RecordIndex属性。因此,您可以遍历Rows数组并测试它RecordIndex是否是您要找到的那个,如果为真,则获取 property ViewInfo.ClientBounds.Top

例子:

for i := 0 to gdMovimentoTV.ViewData.RowCount - 1 do 
  if gdMovimentoTV.ViewData.Rows[i].RecordIndex = iSomeRecordIndex then begin
    if Assigned(gdMovimentoTV.ViewData.Rows[i].ViewInfo) then begin
      Result := gdMovimentoTV.ViewData.Rows[i].ViewInfo.ClientBounds.Top;
      Break;
    end;
于 2013-08-28T14:26:51.340 回答