自己改改吧 DBG : TDBGrid; i : Integer; if LabelMessage.Visible then LabelMessage.Visible := False; if DBG.DataSource.DataSet.Eof then DBG.DataSource.DataSet.First else DBG.DataSource.DataSet.Next; while not DBG.DataSource.DataSet.Eof do begin for i:=0 to DBG.Columns.Count-1 do begin if Pos(EditFind.Text,DBG.Columns.Items[i].Field.DisplayText)>0 then begin DBG.SelectedIndex := i; ButtonOk.Caption := '下一个'; Exit; end; end; DBG.DataSource.DataSet.Next; end; ButtonOk.Caption := '从头开始'; LabelMessage.Visible := True;
你的查找无非是对几个特定字段查找吧,对Dataset进行特殊处理,寻址到记录,DBGrid自己会定位的。
([value,value]),[])
DBG : TDBGrid;
i : Integer;
if LabelMessage.Visible then
LabelMessage.Visible := False;
if DBG.DataSource.DataSet.Eof then
DBG.DataSource.DataSet.First
else
DBG.DataSource.DataSet.Next;
while not DBG.DataSource.DataSet.Eof do
begin
for i:=0 to DBG.Columns.Count-1 do
begin
if Pos(EditFind.Text,DBG.Columns.Items[i].Field.DisplayText)>0 then
begin
DBG.SelectedIndex := i;
ButtonOk.Caption := '下一个';
Exit;
end;
end;
DBG.DataSource.DataSet.Next;
end;
ButtonOk.Caption := '从头开始';
LabelMessage.Visible := True;
waysoft(华子),谢谢您了!