我想将焦点设置在 Tdbgridview 上的特定行上。首先,我从组合框中选择标准字段(搜索相关的列,例如:FisrtName),然后在 TeditField 中输入标准(例如:Jack)。然后 Dbgrifd 的箭头应指向相关行。我应该怎么做?谢谢。
的TDBGrid组分(和所有其它TDBxxx组分以及)是什么的Delphi定义为dataware组件。这种组件作为数据集的可视化表达存在。
因此,在 a 中,TDBGrid您不应该考虑聚焦网格的一行,而应该考虑定位网格数据集的一行(例如,使用LocateTLama 建议的方法)。网格将注意到其数据集的当前行已更改(因为网格知道数据集的状况)并将关注相应的行。
更新 1
你可以在下面看到我所说的一个例子:
MyDataset.Locate('Id', 123, []);
Run Code Online (Sandbox Code Playgroud)
上面的代码只是在名为 的数据集中查找特定记录MyDataset。第一个参数是数据集中现有字段的名称。因此,您有一个包含一些字段的数据集,其中一个名为Id。第二个参数是所需行中该字段中包含的值,第三个参数是一些在此处不适用的选项。有关该方法的更多详细信息,请访问Delphi docwikiLocate。
换句话说,我们正在寻找字段Id值为 123 的行!如果数据集可以找到这样的行,它将成为当前记录(或行)。如果有一个TDBGrid连接到 的TDataSource连接到TMyDataset,它会自动更新以选择相应的行,就像您想要的那样。
| 归档时间: |
|
| 查看次数: |
4509 次 |
| 最近记录: |