QuantumGrid VCL - Как изменить текст столбца гиперссылки в событии щелчка ячейки? - PullRequest
0 голосов
/ 26 сентября 2011

Использование: Delphi XE, Devexpress VCL.

В событии щелчка ячейки я пытаюсь изменить значение ячейки в столбце гиперссылки в элементе управления Devexpress QuantumGrid VCL.Столбец является настраиваемым столбцом и не привязан к набору данных.

Свойства столбца гиперссылки задаются в соответствии с:

Редактирование: = False;
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.

1 Ответ

0 голосов
/ 26 сентября 2011

Когда для свойства SingleClick в элементе управления гиперссылкой установлено значение TRUE, событие GridViews CellClick не вызывается.

(Возможно, я смогу помочь, если бы мог понять, почему вы используете элемент управления гиперссылкой для того, что выглядит просто как текст. См. Мои комментарии под вашим вопросом.)

РЕДАКТИРОВАТЬ: Этот ответ является неправильным, если свойство gridViews Editing имеет значение False, как указано в OP. Это действительно описывает поведение, если Редактирование True FWIW.

...