我用combobox實現過濾
combobox得3個ITEMS分別是:所有案件
2003年案件
2004年案件
procedure Tfrm_yibanquery.ComboBox6Change(Sender: TObject);
begin
with (Sender as TComboBox) do
begin
if ItemIndex=0 then adotable1.Filtered:= False
else if ItemIndex>0 then adotable1.Filtered:= True
end;
end;procedure Tfrm_yibanquery.ADOTable1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
if Combobox6.ItemIndex=1 then begin
Accept:=leftstr(dataset.FieldByName('caseno').asString,1)='3' ;
fcDBTreeView1.Refresh;
end
else if Combobox6.ItemIndex=2 then
begin
Accept:= leftstr(dataset.FieldByName('caseno').asString,1)='4';
fcDBTreeView1.Refresh;
end;
end;
現象是我第一次選了'2003年的案件'後可以刷出2003年的案子,可再選擇'2004年的案件'卻深麼反映都沒有了.同樣,我如果第一次選的是'2004年的案件'可以刷出2004年的案子,可再選擇'2003年的案件'卻深麼反應都沒有了請高手指點一下
combobox得3個ITEMS分別是:所有案件
2003年案件
2004年案件
procedure Tfrm_yibanquery.ComboBox6Change(Sender: TObject);
begin
with (Sender as TComboBox) do
begin
if ItemIndex=0 then adotable1.Filtered:= False
else if ItemIndex>0 then adotable1.Filtered:= True
end;
end;procedure Tfrm_yibanquery.ADOTable1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
if Combobox6.ItemIndex=1 then begin
Accept:=leftstr(dataset.FieldByName('caseno').asString,1)='3' ;
fcDBTreeView1.Refresh;
end
else if Combobox6.ItemIndex=2 then
begin
Accept:= leftstr(dataset.FieldByName('caseno').asString,1)='4';
fcDBTreeView1.Refresh;
end;
end;
現象是我第一次選了'2003年的案件'後可以刷出2003年的案子,可再選擇'2004年的案件'卻深麼反映都沒有了.同樣,我如果第一次選的是'2004年的案件'可以刷出2004年的案子,可再選擇'2003年的案件'卻深麼反應都沒有了請高手指點一下
begin
with (Sender as TComboBox) do
begin
if ItemIndex=0 then adotable1.Filtered:= False
else if ItemIndex>0 then adotable1.Filtered:= True
end;
///加上
adotable1.close;
adotable1.open;
end;