|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
событие на добавление записи в DbGrid
Здравствуйте. Встала задача оповещать при добавлении записи в наборе данных представлением которых занимается DBGridEh. Используются следующие компоненты: MyQuery, MyDataSource.
Вопрос: как это сделать есть идея с RecordCount. Но как программно это сделать я не знаю, мб кто-нибудь посоветует или подскажет? Спасибо. |
#2
|
|||
|
|||
используй событие OnAfterPost или OnAfterInsert в MyQuery
|
#3
|
|||
|
|||
Цитата:
|
#4
|
|||
|
|||
DBGrid только отображает данные и все ни коем образом не связывается с базой данных. Посмотри события у DBGrid ты найдешь только отрисовку, нажатия на заголоку, получение/потеря фокуса. Это происходит через Query, Table. Поэтому работай напрямую с источником данных, в твоем случае MyQuery.
|
#5
|
||||
|
||||
при добавлении записи в TDBGrid выводится вопрос "Отменить добавление?":
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables; type TForm1 = class(TForm) DataSource1: TDataSource; Table1: TTable; DBGrid1: TDBGrid; procedure FormCreate(Sender: TObject); procedure Table1AfterInsert(DataSet: TDataSet); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Table1.AfterInsert:=Table1AfterInsert; end; procedure TForm1.Table1AfterInsert(DataSet: TDataSet); begin if MessageBox(Handle, 'Отменить добавление?', 'Вопрос', MB_OKCANCEL or MB_ICONQUESTION)=IDOK then Table1.Cancel; end; end. Пишу программы за еду. __________________ |
#6
|
|||
|
|||
Хм, поясняю, по таймеру делаю обновление записей раз в 5 минут, рефреш не подходит. Если 1 пользователь добавил данные в таблицу, то у другого по прошествии 5 минут должен проиграться звук. Как это сделать?
|