1.用filter实现根据数据源筛选数据:
DBGRID.OPEIONTS.dgMultiSelect:=ture;
FilterString:='';
with table1 do
for i:=0 to dbgrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(dbGrid1.SelectedRows.items[i]));
Mkcentlist.Add(Fields[0].asstring);
if FilterString='' then
FilterString:='field1='+''''+Fields[0].asstring+''''
else
FilterString:='field1='+''''+Fields[0].asstring+''''+' or '+FilterString;
end;
wiht query1 do
begin
if FilterString<>'' then
begin
Filter:=FilterString;
Filtered:=true;
end else
begin
Filter:='';
Filtered:=False;
end;
end;
2.根据所选择的条件,后台动态生成sql语句
(出处:www.delphibbs.com)