使用TDataSet.FindKey可以找到记录。当结果为True时,数据集光标将定位在找到的记录上。当它导致False时,光标不会移动。这会导致发布FindKey之前的记录数据显示在数据感知组件中。如果FIndKey导致False,则不返回记录?
我如何可以编写FindKey的结果返回一个空的记录?
if Not tblSomeTable.FindKey([SomeSearchData]) then
begin
< code to return empty or move data cursor to neutral position >
end;
更新:(娇娇选择正确答案的前几天,因为我相信,这是自定义并没有婉,以阻止进一步的反馈。)有上解决这一情况的若干建议,虽然我相信正确的答案来自马塞洛,因为光标不能放在记录上。建议了几种解决方法。我选择了我自己的一个。它继续是这样的:
If Not tblSomeTable.FindKey([SomeSearchData]) then
begin
tblSomeTable.FindKey([-1,2010]);
end
我所做的是创建一个虚拟的空白记录与索引实际数据永远不能,即:第一个指标值永远不会是-1。如果初始搜索为空,则FindKey将光标定位在该空记录上。这将提供我以后的视觉效果。
你为什么要这么做?这可能有助于回答这个问题。 – 2010-03-28 08:00:09
当我选择左侧列表中的项目时,相应的数据出现在右侧。当findkey失败时,将显示来自不正确记录的数据。 – jwilfong 2010-03-28 08:18:26