cxGrid中有没有办法操作单个cell是否只读?
如题谢谢。我只找到操作单个列是否只读,但我现在需要一个列里的某些cell只读。
作者: chenxi_aji 发布时间: 2007-06-26
可以用这OnCellClick事件动态判断实现,从这ACellViewInfo判断,如果是点击你要的Cell时,将整列只读就可以了,否则可编辑。
作者: yi10000 发布时间: 2007-06-26
现在的问题是这样的,这几个需要判断的列在显示形式上采用的是CheckBox形式。我的目的是其中的某几个cell在点击以后不能改变原来的值,类似readonly效果,而其余那些值却是可以改变的。
作者: chenxi_aji 发布时间: 2007-06-26
试试enabled=.f.
作者: axinglqs 发布时间: 2007-06-26
试试enabled=.f
---------------------------------------------
什么的enabled?cxGridDBTableView的?
---------------------------------------------
什么的enabled?cxGridDBTableView的?
作者: chenxi_aji 发布时间: 2007-06-27
up...怎么我的信誉只有84了。。。
作者: chenxi_aji 发布时间: 2007-06-28
ongetproperties里面,根据你的要求,把properties赋值为label
作者: Ray2312 发布时间: 2010-08-26
这个简单,tableview的onEditing事件,可以根据你的条件,符合条件的设置为:AAllow := False;即可。
作者: wxsan 发布时间: 2010-08-26
如果需要条件,代码和如下类似:
if (TableView.Controller.FocusedRecord.Values[需要判断的列] = 值) and (AItem.Index= 第几列) then
AAllow := False
else
AAllow := True;
if (TableView.Controller.FocusedRecord.Values[需要判断的列] = 值) and (AItem.Index= 第几列) then
AAllow := False
else
AAllow := True;
作者: wxsan 发布时间: 2010-08-26
測試正解:
Delphi(Pascal) code
Delphi(Pascal) code
procedure TFeeder_Alternative_F.cxGrid3DBTableView1Editing( Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem; var AAllow: Boolean); begin inherited; if AItem.ID in[0,1,2,3,4,5,6,7,9] then begin AAllow:=False; cxGrid3DBTableView1Column9.Properties.ReadOnly:=True; end; if AItem.ID=0 then begin if cxGrid3DBTableView1.DataController.Controller.FocusedRecord.Values[10]='0' then begin AAllow:=False; cxGrid3DBTableView1Column9.Properties.ReadOnly:=True; MessageDlg('提示:已鎖定,此筆材料不能作替代料!',mtWarning,[mbOK],0); Exit; end else begin if cxGrid3DBTableView1.DataController.Controller.FocusedRecord.Values[6]<>'00' then begin AAllow:=False; cxGrid3DBTableView1Column9.Properties.ReadOnly:=True; MessageDlg('提示:已鎖定,此筆材料不能作替代料!',mtWarning,[mbOK],0); Exit; end else AAllow:=True; cxGrid3DBTableView1Column9.Properties.ReadOnly:=False; end; end; end;
作者: kye_jufei 发布时间: 2010-08-26
好的代码像粥一样,都是用时间熬出来的