0
使用:Delphi XE,Devexpress VCL。QuantumGrid VCL - 如何更改單元格單擊事件中超鏈接列的文本?
在單元格單擊事件中,我試圖更改Devexpress的QuantumGrid VCL控件中超鏈接列中單元格的值。該列是自定義列,未綁定到數據集。
超鏈接列的屬性被設置爲每:
編輯:=假;
ReadOnly:= True;
SingleClick:= True;
以下代碼(grdReprint是網格的DBTableView,並且,grdReprintColumn2是超鏈接列)是無效的:
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。
如果關閉單擊選項,則您的代碼有效。 –
VOID和UNVOID看起來不像你會使用超鏈接控件。無論如何,單擊選項將作爲超鏈接對編輯值起作用。 –
這是Editing = false,它可以防止編輯值作爲超鏈接進行操作。 SingleClick和ReadOnly的不同值似乎不起作用。你確定數據集是可編輯的嗎? – crefird