Topic: Поведение TableGrid на Form1

Здравствуйте.
На главной форме Form1 есть TableGrid.
Соответственно для его заполнения есть действие

 procedure Form1_OnShow (Sender: string; Action: string);
begin
   Form1.TableGrid1.dbUpdate;
end;

Так же у TableGrid есть два действия

procedure Form1_TableGrid1_OnClick (Sender: TObject);
begin
      idZapis := Form1.TableGrid1.dbItemID;
      end;
procedure Form1_TableGrid1_OnDoubleClick (Sender: TObject);
begin
    Form1.Button5.Click;
      end;

Действие Button5 - Показать запись для TableGrid в новой форме.
Теперь вопрос: при переходе (закрытии всех открытых форм) на главную форму Form1 выскакивает ошибка: "Не выбрана запись для редактирования". Это нормальное поведение главной формы. Т.е., как я понимаю, при обновлении таблицы происходит действие procedure Form1_TableGrid1_OnDoubleClick (Sender: TObject);???

Re: Поведение TableGrid на Form1

О том, как показать запись по двойному клику по гриду можно прочитать здесь:
https://k245.ru/mvdb/forma-redaktirovaniya.html
https://k245.ru/mvdb/proekt-biblioteka-v-2-2.html
Для этого достаточно разместить на форме кнопку и настроить её для отображения записи из таблицы, дополнительные обработчики не нужны.

Визуальное программирование: блог и телеграм-канал.

Re: Поведение TableGrid на Form1

Добрый день.
Спасибо.
Убрал обработчики.
Теперь 2 кнопки для редактирования записи в разных формах.
При двойном нажатии мышью - открываются для одной записи 2 разные формы???

Re: Поведение TableGrid на Form1

Andrei wrote:

Добрый день.
Спасибо.
Убрал обработчики.
Теперь 2 кнопки для редактирования записи в разных формах.
При двойном нажатии мышью - открываются для одной записи 2 разные формы???

А почему у вас 2 кнопки редактирования одной записи? Впрочем, такое иногда требуется.
Если вы не хотите, чтобы при двойном клике срабатывали обе кнопки, то у второй (которую вы не хотите) нужно отключить действие "Показать запись" и отображать форму редактирования методом ShowRecord().

Визуальное программирование: блог и телеграм-канал.

Re: Поведение TableGrid на Form1

Спасибо.
Первую кнопку сделал через ShowRecord

procedure Form1_Button4_OnClick (Sender: TObject; var Cancel: boolean);
begin
  form1.TableGrid1.dbUpdate;
  frm_main.ShowRecord('main',form1.tablegrid1.dbitemid);
end;

Вторую кнопку спрятал (стандартные настройки кнопки для открытия записи на редактирование в новой форме).
В Итоге получил что было нужно.
При выборе записи в таблице и нажатии на кнопку - редактирование в одной форме.
При двойном клике по записи в таблице - открытие другой формы на редактирование записи.
Ошибки нет.
Еще раз спасибо.