我有德尔福7。
我想在 dbgrid 中搜索数据
我已经使用 adotable 和数据源链接到 excel。
我在网上搜索了一下,只找到了如何新建excel文档或者如何链接excel文档
但我想通过所有行搜索第一列
我有德尔福7。
我想在 dbgrid 中搜索数据
我已经使用 adotable 和数据源链接到 excel。
我在网上搜索了一下,只找到了如何新建excel文档或者如何链接excel文档
但我想通过所有行搜索第一列
将 Excel 加载到 ADOTable 后,它就像任何其他普通表格一样。
最好不要在网格中搜索。相反,请为此使用Locate
AdoTable 的方法。
//or using [loCaseInsensitive,loPartialKey] options
ADOTable1.Locate('FieldName', 'Value', []);
您可能希望在定位所需值时使用DisableControls
并EnableControls
避免以图形方式刷新网格,并使用书签以返回到原始位置。
高温高压
是的,Locate 是更好的选择。您的 DBGrid 链接到 ClientDataSet 或 Query,在您的 DataSource 上使用 de Locate。
MyClientDataSet.Locate( .... 有关更多详细信息,请在您的 delphi 代码上,选择单词 Locate 并使用 F1 打开您在 delphi 中的帮助。
while not adoquery1.Eof do
begin
for I := 0 to adoquery1.FieldCount-1 do
if (enhdbgrid1.Fields[i].value<>null) and (pos(uppercase(edit1.Text),uppercase(enhdbgrid1.Fields[i].Value))>0) then
begin
Found := True;
enhDBGrid1.SelectedField := enhdbgrid1.Fields[i];
Break;
end;
if found then break;
adoquery1.Next;
end;