Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TDataLink - распознать Insert и Edit [D7, MSSQL]


Ega23 ©   (2007-10-04 13:41:00) 

Как на уровне TDataLink распознать, была ли добавлена новая запись в НД, или было редактирование существующей?

Поясню ситуацию: есть самописный TDBTree, перестроение дерева делать на каждое событие TdataLink.UpdateData делать - накладно. Тем более, что поток событий по изменению значения поля в НД и добавлении/удалении записи из НД будет соотноситься как 99:1


Jeer   (2007-10-04 18:34:00) [1]


> А если вклинивание в "ветку"?
>


Что есть вклинивание ?
Вставка в ветке между соседними ?
Это вопрос к сортировке.


Ega23   (2007-10-04 18:32:00) [2]


> Почему нельзя просто добавлять child если было добавление
> или изменять связанные параметры node - если редактирование.


Там не всё так просто. Хорошо, если добавление "листа". А если вклинивание в "ветку"?


> Кстати есть еще и удаление и перенос веток:)


Есть, но в данной задаче, как бы нет. В оперативной работе если и меняется что-то, так только (с точки зрения дерева) StateIndex у нода.


Jeer   (2007-10-04 18:22:00) [3]


> Ega23 ©   (04.10.07 14:43) [2]


Почему нельзя просто добавлять child если было добавление или изменять связанные параметры node - если редактирование.
Ты же ведь знаешь какая операция была.
Кстати есть еще и удаление и перенос веток:)


Ega23   (2007-10-04 14:43:00) [4]


> а DataLink.DataSet.State не подойдет?


Т.е. получается, что мне нужно ловить TDataLink.EditingChanged, запоминать DataSet.State, а потом в UpdateData его анализировать?


clickmaker   (2007-10-04 14:25:00) [5]

а DataLink.DataSet.State не подойдет?


Наверх

Титульная страница Поиск, карта сайта Написать письмо