C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Scroll в DataSete
Quadro
Отправлено: 09.03.2005, 09:50


Ученик-кочегар

Группа: Участник
Сообщений: 3



у DataSet есть Scroll (есть события BeforScroll, AfterScroll)
можно ли програмно запретить это событие?
т.е. запретить перемещать курсор между записями
AVC
Отправлено: 09.03.2005, 10:30


Ветеран

Группа: Модератор
Сообщений: 1583



А не проще ли сделать выборку на одну строку, или использовать другие компоненты доступа (не имеющие средств навигации по dataset).
Скорее всего Abort в BeforeScroll должен сработать, но не проверял и могут возникнуть трудности при открытии DataSet. Еще можно использовать DataSource-OnDataChange.
Вообще такое поведение не характерно для DataSet — может иначе сформулировать задачу?
Quadro
Отправлено: 09.03.2005, 10:54


Ученик-кочегар

Группа: Участник
Сообщений: 3



/*А не проще ли сделать выборку на одну строку, или использовать другие компоненты доступа (не имеющие средств навигации по dataset).*/
может и проще но пока проще так

/*Скорее всего Abort в BeforeScroll должен сработать, но не проверял и могут возникнуть трудности при открытии DataSet.*/
к чему относится Abort у DataSeta нет таких событий, а в BeforeScroll действие не передается

/*Еще можно использовать DataSource-OnDataChange.*/
не понимаю как с помощью этого можно что то сделать?

/*Вообще такое поведение не характерно для DataSet — может иначе сформулировать задачу?*/
пока нет
AVC
Отправлено: 09.03.2005, 11:20


Ветеран

Группа: Модератор
Сообщений: 1583



Abort принадлежит приложению

CODE

DataSource->OnDataChange
...
The Field parameter is NULL if more than one of the fields changed simultaneously, such as when moving from one record to another.

Quadro
Отправлено: 09.03.2005, 11:31


Ученик-кочегар

Группа: Участник
Сообщений: 3



теперь все ясно
спасибо помогло
olegenty
Отправлено: 09.03.2005, 15:51


Ветеран

Группа: Модератор
Сообщений: 2412



ты бы всё же объяснил, зачем тебе это надо... а то TDBGridEh + TMemTableEh предоставляет возможность, названную Дмитрием Большаковым ViewScroll, заключающуюся в том, что событие WM_VSCROLL не вызывает событий скроллирования у TMemTableEh (когда таскаешь мышью ScrollBar, либо крутишь колесо мыши, то просматриваемая область набора данных смещается, а вот положение курсора — нет!)

Вернуться в Работа с базами данных в C++Builder