假设:ClientDataSet中 为 两列 字段:"列1"、"列2"一般,我要搜索 "列2" 中值为 X 的记录,则:
ClientDataSet1.IndexFieldNames:='列2';
if ClientDataSet1.FindKey([X]) then
  Memo1.Lines.Add('Find OK')
else
  Memo1.Lines.Add('Find not OK');
现在的问题是:
能否这样用???:
假设之前设好了 ClientDataSet1.IndexFieldNames:='列1;列2'; 在不改变 IndexFieldNames 的情况下,搜索 "列2" 中值为 X 的记录(不管 "列1" 的值为什么):
if ClientDataSet1.FindKey([这里填什么?,X]) then
  Memo1.Lines.Add('Find OK')
else
  Memo1.Lines.Add('Find not OK');∵我 ClientDataSet1 连着 DBGrid,∴如果改变 ClientDataSet1.IndexFieldNames 的话 DBGrid显示 也会跟着变化,而这时我不想看到的。如上问题情解答。