ClientDataSet字段不能进行编辑时的解决方法:
procedure ModifyClientDataSet(const YesOrNot: Boolean;
cs : TClientDataSet);
var
i : Integer;
begin
// 当 YesOrNot 为 true 时为只读 为false 是可进行修改
for i := 0 to cs.FieldCount -1 do
begin
cs.Fields[i].ReadOnly := YesOrNot;
end;
end;
当ClientDataSet 所对应的不是真实存在的字段时,就会出现不能进行编辑的情况。
比如是通过 '' as 字段1 , 这时 字段1 在运行时是不能编辑的。
如果ClientDataSet是能过动态创建的,或都是assigned其他的ClientDataSet的结构,
需要在 ClientDataSet.CreateDataSet 之后再调用此方法。