Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

AfterScroll   Найти похожие ветки 

 
LazorenkoX ©   (2003-01-30 14:10) [0]

Я использую ADO (TADOQuery) и mdb (Access 2000). Почему когда я вызываю методы - Last, First, Refresh, то событие AfterScroll вызывается несколько раз?


 
sniknik ©   (2003-01-30 14:27) [1]

Occurs after an application scrolls from one record to another.

property AfterScroll: TDataSetNotifyEvent;

Description

Write an AfterScroll event handler to take specific action immediately after an application scrolls to another record as a result of a call to the First, Last, MoveBy, Next, Prior, FindKey, FindFirst, FindNext, FindLast, FindPrior, and Locate methods. AfterScroll is called after all other events triggered by these methods and any other methods that switch from record to record in the dataset.

возможно поэтому.


 
LazorenkoX ©   (2003-01-30 14:32) [2]

А какое событие посоветуете? Мне надо только один раз обработать при переходе на окончательную позицию.


 
Соловьев ©   (2003-01-30 14:37) [3]

Что предполагает этот скролинг? Подробнее опиши задачу.


 
LazorenkoX ©   (2003-01-30 14:42) [4]

Меняеться запись, после чего должно произойти событие, например MessageBox. Я использую AfterScroll, но если вызвать метод Last, First или Refresh, то AfterScroll вызывается раз 6 и я получаю кучу MessageBox-ов. Что делать? Может есть другое событие?


 
sniknik ©   (2003-01-30 14:44) [5]

Не знаю, у меня срабатывает один раз, как надо.

Че хотел сказать, у тебя возможно одно событие вызывает другое, или делаешь не только его, если так проследи логику. Начни с простейшего варианта 1 форма 1 квери 1 событие 1 кнопка с ласт/ферст.


 
Соловьев ©   (2003-01-30 14:46) [6]

>>событие, например MessageBox
Прикольно :)))))
Ну а если серьезно, то как ты вызываешь методы Last, First, Refresh?
Если DBNavigator, то по нажатии этих кнопок вызывай свое событие.


 
sniknik ©   (2003-01-30 14:53) [7]

вряд ли DBNavigator виноват, поставил его себе результат анологичен след.зап. 1 вызов события, последняя еще один вызов. (методы навигатора не менял, стандартные)


 
LazorenkoX ©   (2003-01-30 14:55) [8]

>>событие, например MessageBox
Прикольно :)))))


Там большой алгоритм, а не MessageBox, но это не важно. Методы я вызываю много откуда, куча разных форм и не только из кнопок, а общее только TADOQuery. Просто прога тормозит на этом моменте, а меня это уже запарило!!!


 
Соловьев ©   (2003-01-30 14:57) [9]

Я тоже проверил AfteScroll - срабатывает один раз. Чего-то LazorenkoX © не договаривает...


 
Соловьев ©   (2003-01-30 14:59) [10]

большой алгоритм ... прога тормозит на этом моменте
Так пересмотри свой алгоритм...
Что делает твой алгоритм?


 
Max Zyuzin ©   (2003-01-30 15:04) [11]

>LazorenkoX © (30.01.03 14:55)
Скорее всего у тебя в результате работы твоего алгоритма методы эти вызываются по нескольку раз...
Посмотри их внимательно исчо раз...


 
LazorenkoX ©   (2003-01-30 17:34) [12]

Я так и думал, спасибо, буду искать...


 
LazorenkoX ©   (2003-01-30 18:21) [13]

Нашёл грабли - DevExpress TdxDBGrid!!! Это с её помощью при вызове Last, First и Refresh событие AfterScroll вызывается несколько раз (4-10 раз). Может смогу от этого избавиться. Кто-нибудь сталкивался с этим?


 
sniknik ©   (2003-01-30 18:50) [14]

> Может смогу от этого избавиться.
конечно! избавься от DevExpress TdxDBGrid и пользуйся стандартным DBGrid. (если сразу не решишся подумай что он еще втихаря от тебя задваивает и удесятеряет? и не от этого ли тормоза)

> Кто-нибудь сталкивался с этим?
ну ктото наверняка, я нет, стараюсь не использовать нестандартных компонент.


 
LazorenkoX ©   (2003-01-30 19:26) [15]

Нашёл решение проблемы - dxDBGrid.OptionsDB.PartialLoad установить в false!!!

>> избавься от DevExpress TdxDBGrid и пользуйся стандартным DBGrid

Я бы с удовольствием, но слабоватый будет DBGrid в плане возможностей.



Страницы: 1 вся ветка

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
1-53025
runner
2003-02-10 18:49
2003.02.17
Печать StringGrid


3-52808
DBGrid
2003-01-29 13:34
2003.02.17
процедура column autosize для DBGrid


7-53301
old_mole
2002-12-17 12:44
2003.02.17
Как поменять резолюцию принтера?


14-53247
Delphinium
2003-02-01 15:19
2003.02.17
Предлагаю поделиться мыслями о Шароваре.


14-53266
Ihor Osov'yak
2003-02-02 01:11
2003.02.17
Это несколько кощунствено, но все же... Идиоты есть везде ...