Редактировать данные только по левому щелчку в TDBGrid

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
artem78
новенький
Сообщения: 50
Зарегистрирован: 09.08.2015 17:52:24

Редактировать данные только по левому щелчку в TDBGrid

Сообщение artem78 »

Здравствуйте!

На форме имеется компонент TDBGrid работающий с БД. Разрешено редактирование данных, включены флаги AutoEdit и Options=dgEditing. Меня не устраивает то, что режим редактирования включается при щелчке любой кнопкой мыши (правой, левой и даже колёсиком).

Как сделать, чтобы редактор появлялся только при нажатии левой кнопки? Спасибо.

Все свойства компонента TDBGrid:

Код: Выделить всё

object ItemsGrid: TDBGrid
  Left = 8
  Height = 240
  Top = 16
  Width = 701
  Anchors = [akTop, akLeft, akRight, akBottom]
  AutoFillColumns = True
  Color = clWindow
  Columns = < 
    item
      Title.Caption = 'Наименование в накладной'
      Width = 254
      FieldName = 'name1'
    end 
    item
      Title.Caption = 'Наименование в 1С'
      Width = 254
      FieldName = 'name2'
    end 
    item
      SizePriority = 0
      Title.Caption = 'Кол-во'
      Width = 80
      FieldName = 'amount'
    end 
    item
      Alignment = taCenter
      SizePriority = 0
      Title.Caption = 'В продуктах'
      Width = 80
      FieldName = 'is_product'
    end>
  DataSource = DataSource1
  Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit, dgAnyButtonCanSelect, dgCellEllipsis, dgRowHighlight]
  PopupMenu = ItemsGridPopupMenu
  Scrollbars = ssVertical
  TabOrder = 0
  TitleStyle = tsNative
  OnContextPopup = ItemsGridContextPopup
end
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Вообще-то стандартно редактирование включается только по двойному щелчку левой кнопки мыши. Уберите dgAnyButtonCanSelect в настройках и будет вам счастье... :D
А если вам надо непременно редактировать по одиночному левому клику, то вам надо написать свой обработчик события у грида.
artem78
новенький
Сообщения: 50
Зарегистрирован: 09.08.2015 17:52:24

Сообщение artem78 »

Снег Север писал(а):Уберите dgAnyButtonCanSelect в настройках и будет вам счастье...

Этот флаг я включил, чтобы при вызове контекстного меню выделение перескакивало на строку под местом щелчка мышкой.

Снег Север писал(а):то вам надо написать свой обработчик события у грида.

Попробую.
Ответить