Con un código como este:
Código Delphi
[-]
procedure TForm1.cxGrid1DBTableView1Editing(Sender: TcxCustomGridTableView;
AItem: TcxCustomGridTableItem; var AAllow: Boolean);
var
ARecordIndex: Integer;
AValue: Variant;
begin
if (AItem.Index = cxGrid1DBTableView1dato3.Index) or (AItem.Index = cxGrid1DBTableView1dato5.Index) then
begin
ARecordIndex := cxGrid1DBTableView1.DataController.FocusedRecordIndex;
AValue := cxGrid1DBTableView1.DataController.Values[ARecordIndex, cxGrid1DBTableView1dato2.Index];
AAllow := (AValue <> 'pack');
end;
end;
Consigues que la columna
dato3 y
dato5 sean
ReadOnly si el valor de
dato2 es igual a "pack".
Puedes modificar las condiciones como necesites.
También se puede hacer de otras formas.
Aquí tienes un ejemplo
utilizando el evento OnEditing.