我的应用程序中有两个网格(TcxGrid),每个网格位于表单的一侧。两个网格都显示链接数据,尽管它们可以分开垂直滚动。 我想在中间面板中绘制箭头,显示记录链接到的另一个网格的行,如下例所示:
GridA GridB
+---+ +---+
| a |---| a |
| b | | i |
| c |\ | h |
| d | \ | g |
| e | \| h |
| f | | b |
+---+ +---+
绘制过程很简单。我的麻烦在于确定记录位置。 我如何发现每个网格行/记录的垂直位置,考虑到可以在两个网格中进行分组?
提前谢谢。
答案 0 :(得分:0)
我发现可以通过这种方式获得网格记录的垂直位置:
网格视图具有属性ViewData.Rows
。 Rows
是一个数组,它的每个元素都有RecordIndex
属性。因此,您可以迭代Rows
数组并测试其RecordIndex
是否与您找到的数组相同,如果为真,则获取属性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;