ClientDataSet 으로 불러온 데이타를
DBGrid 에 뿌려줍니다. 그리고 난후 특정값을 입력해서
조건검색(locate 함수사용)을 하면
DBGrid 의 데이타위치로 이동합니다.
아래와 같은 방법으로 했습니다.
CilentDataSet.Locate('필드명','필드값',[loPartialKey]);
그런데 위의 방법은 데이타를 한번밖에 찾지를 못하더군요
notepad 의 F1 기능처럼 "다음찾기" 부분이 안되는데...
"다음찾기" 기능을 구현할수는 없을까요?
다음은 제가 테스트 해본 겁니다. 참고해보시길..
var
bm: TBookMark;
begin
if Key = vk_Return then
begin
with ClientDataSet1 do
begin
bm := getBookMark;
DisableControls;
if FieldByName('CITY').AsString = Edit1.Text then
begin
Next;
end
else
begin
First;
end;
while Not(EOF) do
begin
if FieldByName('CITY').AsString = Edit1.Text then Break;
Next;
end;
if Eof then
begin
First;
while Not(EOF) do
begin
if FieldByName('CITY').AsString = Edit1.Text then Break;
Next;
end;
end;
if FieldByName('CITY').AsString <> Edit1.Text then GotoBookMark(bm);
EnableControls;
end;
end;
end;