1. Delphi has LockColumn function to determine column is readonly or not. function TMainForm.LockColumn(ColIdx: Integer): boolean; begin   if ColIdx in [1,2] then   begin     Result:= ClientDataSet1.FieldByName('EmpNo').AsInteger < 20;   end; end;   2. UniDBGrid -> ClientEvents -> ExtEvents -> beforeedit to call LockColumn. function beforeedit(editor, context, eOpts) {    return MainForm.LockColumn(context.colIdx);  } Please refer sample, ca