你的代码使用了循环while not ClientDataSet1.Eof do 所以每次单击后所有记录都被操作
我用循环while not ClientDataSet1.Eof do是为了选择所有记录中被标记的记录,现在的问题是只有我标记其中一个,其余的也是默认标记了,这是我的问题。
我用下面的代码实现Fields[9].AsBoolean的初始值为False procedure TForm1.ClientDataSet1CalcFields(DataSet: TDataSet); begin with ClientDataSet1 do begin if Fields[9].Value = Null then Fields[9].AsBoolean := False; end; end;
所以每次单击后所有记录都被操作
procedure TForm1.ClientDataSet1CalcFields(DataSet: TDataSet);
begin
with ClientDataSet1 do
begin
if Fields[9].Value = Null then Fields[9].AsBoolean := False;
end;
end;