DataSet Filter為True時修改數據註意
當DataSet中Filter:=‘c_id=0001‘;Filtered=true時
while not eof do
begin
if FieldByName(‘sel‘).AsBoolean then
begin
Edit;
FieldByName(‘sel‘).AsBoolean := False;
if FieldByName(‘oldclassid‘).AsString = ‘‘ then
// 如果多次轉班,只記錄起始的班級
begin
FieldByName(‘oldclassid‘).AsString := FieldByName(‘c_id‘).AsString;
FieldByName(‘oldclass‘).AsString := FieldByName(‘c_name‘).AsString;
end;
FieldByName(‘c_id‘).AsString := AcID;
FieldByName(‘c_name‘).AsString := AcName;
Post;
Continue; //Filtered :=true:連續勾選的情況
end;
Next;
end;
在循環中修改了Filter對應的條件,如果不使用continue那個兩個相鄰的勾選中後面的一個就不會被操作。
DataSet Filter為True時修改數據註意