我不确定我是否理解你的问题,但我会尝试一个答案,也许你可以澄清这是不是你问的问题.
由于TDBGrid绑定到DataSource,因此当前行与数据源中的当前行相同.您可以通过查看主键值或RecNo属性来查询DataSource,以确定哪个记录是当前记录.
你可以这样做:
1 - 定义一个本地类,它是 TDBGrid 的副本(这将允许您访问私有方法):
type
THackDBGrid = class(TDBGrid);
Run Code Online (Sandbox Code Playgroud)
2 - 然后您可以转换到本地定义的类,并从私有方法中提取,如下所示:
function TfrmMain.GetFieldValue(colnum : integer): string;
begin
Result := THackDBGrid(grdMain).GetFieldValue(colnum);
end;
Run Code Online (Sandbox Code Playgroud)
或者,要获取行号:
function CurrentRowNumber: integer;
Result := THackDBGrid(grdMain).Row;
end;
Run Code Online (Sandbox Code Playgroud)
这种技术在其他情况下也很有用,但我不能声称功劳。 我从这里得到的。
| 归档时间: |
|
| 查看次数: |
14805 次 |
| 最近记录: |