QuantumGrid VCL - Как изменить текст столбца гиперссылки в событии щелчка ячейки?
Использование: Delphi XE, Devexpress VCL.
В событии щелчка ячейки я пытаюсь изменить значение ячейки в столбце гиперссылки в элементе управления QuantumGrid VCL Devexpress. Столбец является настраиваемым и не привязан к набору данных.
Свойства столбца гиперссылки устанавливаются согласно:
Редактирование:= Ложь;
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;
Если вышеупомянутое не является правильным способом изменить текст в ячейке, тогда другие идеи приветствуются.
ТИА.
1 ответ
Когда для свойства SingleClick в элементе управления гиперссылкой установлено значение TRUE, событие GridViews CellClick не вызывается.
(Я мог бы помочь в дальнейшем, если бы мог понять, почему вы используете элемент управления гиперссылкой для того, что выглядит просто текстом. См. Мои комментарии ниже вашего вопроса.)
РЕДАКТИРОВАТЬ: Этот ответ является неправильным, если свойство редактирования gridViews имеет значение False, как указано OP. Это действительно описывает поведение, если Редактирование True FWIW.