例:给TClientDataSet1绑定数据后,字段state值为1、2、3
需在DBGrid1中对应显示为
1:我很好
2:我非常好
3:我非常非常好做法:
if (TClientDataSet1.FieldCount>0) and (TClientDataSet1.RecordCount>0) then
    begin
      with TClientDataSet1 do
      begin
        First;
        while not Eof do
        begin
          Edit;
          if FieldByName('state').AsString='1' then  FieldByName('state').AsString:='我很好';
          if FieldByName('state').AsString='2' then FieldByName('state').AsString:='我非常好';
          if FieldByName('state').AsString='3' then FieldByName('state').AsString:='我非常非常好';
          Next;
        end;
        First;
      end;
    end;
结果:
显示结果
state=3的显示成了“我非常非”
这是为什么?有什么解决办法