使用:Delphi XE,Devexpress VCL。
在单元格单击事件中,我正在尝试更改Devexpress的QuantumGrid VCL控件中超链接列中单元格的值。该列是自定义列,未绑定到数据集。
超链接列的属性按以下方式设置:
编辑:=假;
ReadOnly:= True;
SingleClick:= True;
以下代码(grdReprint是网格的DBTableView,而grdReprintColumn2是Hyperlink列)无效:
procedure TfReceiptList.grdReprintCellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: boolean);
var
v: integer;
c: integer;
begin
if ACellViewInfo.Item = grdReprintColumn1 then
begin
v := datamod.uspRECEIPT_LSTRECEIPTID.AsInteger;
fMain.PrintReceipt(v);
end
else if ACellViewInfo.Item = grdReprintColumn2 then
begin
(* This code is ineffective because the cell contents do not change *)
if ACellViewInfo.Text = 'Void' then
grdReprint.DataController.SetEditValue(grdReprintColumn2.Index, 'Unvoid', evsValue)
else
grdReprint.DataController.SetEditValue(grdReprintColumn2.Index, 'Void', evsValue);
end;
end;
如果上述内容不是更改单元格中文本的正确方法,那么欢迎其他想法。
TIA。
答案 0 :(得分:0)
当超链接控件中的SingleClick属性设置为TRUE时,不会调用GridViews CellClick事件。
(如果我能理解为什么你使用超链接控件看起来只是文字,我可以进一步提供帮助。请查看我的问题下面的问题。)
编辑:如果在指示OP时gridViews Editing属性为False,则此答案不正确。如果编辑为真FWIW,则会描述行为。