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.

Другие вопросы по тегам