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 之后再调用此方法。

04-14 07:26