|
|
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
Когда TDBGrid прокручивается колесом мыши, то сначала курсор доходит до последней (первой) видимой записи, после этого начинают прокручиваться записи в гриде. Вопрос: можно ли как-то сделать так, чтобы записи начинали прокручиваться чуть раньше, например когда до конца видимого списка осталось 3 строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 17:45 |
|
||
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
Сделать свой собствееный DBGrid. Или поискать сторонние. Может где-то уже сделано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 18:19 |
|
||
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
northener Сделать свой собствееный DBGrid. Или поискать сторонние. Может где-то уже сделано. Понятно что сделать собственный, просто возможно кто-то уже делал такое и знает где что можно подкрутить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 18:37 |
|
||
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
alekcvp northener Сделать свой собствееный DBGrid. Или поискать сторонние. Может где-то уже сделано. Понятно что сделать собственный, просто возможно кто-то уже делал такое и знает где что можно подкрутить. Сделать наследника от TDBGrid и открыть Protected свойства TopRow и VisibleRowCount. В методе OnMouseWheelDown (OnMouseWheelUp) определять, находится ли текущая запись на последних нескольких видимых строках DBGrid. Если так, выполнить метод ScrollBy (ScrollData), а затем, на столько же записей выполнить TDataSet.Prior для датасета, привязанного к DBGrid. Тут, главное, никак не использовать TDataSet.AfterScroll для определения, находится ли текущая запись в последних видимых, точнее определять то можно, только вот нельзя воспользоваться TDataSet.Prior. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2020, 10:50 |
|
||
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
Belotsky Serge alekcvp пропущено... Понятно что сделать собственный, просто возможно кто-то уже делал такое и знает где что можно подкрутить. Сделать наследника от TDBGrid и открыть Protected свойства TopRow и VisibleRowCount. В методе OnMouseWheelDown (OnMouseWheelUp) определять, находится ли текущая запись на последних нескольких видимых строках DBGrid. Если так, выполнить метод ScrollBy (ScrollData), а затем, на столько же записей выполнить TDataSet.Prior для датасета, привязанного к DBGrid. Тут, главное, никак не использовать TDataSet.AfterScroll для определения, находится ли текущая запись в последних видимых, точнее определять то можно, только вот нельзя воспользоваться TDataSet.Prior. Как всё просто... А кто наследника датасета будет пилить, который умеет отдавать не текущую строку, а любую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2020, 11:36 |
|
||
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
wadman . А кто наследника датасета будет пилить, который умеет отдавать не текущую строку, а любую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2020, 12:00 |
|
||
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ wadman . А кто наследника датасета будет пилить, который умеет отдавать не текущую строку, а любую? Чтобы добавить в механизм буферизации опережение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2020, 12:11 |
|
||
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
alekcvp Когда TDBGrid прокручивается колесом мыши, то сначала курсор доходит до последней (первой) видимой записи, после этого начинают прокручиваться записи в гриде. Вопрос: можно ли как-то сделать так, чтобы записи начинали прокручиваться чуть раньше, например когда до конца видимого списка осталось 3 строки? Все же со стандартным поведение лучше не играться Что-то типа с этим поиграться Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2020, 12:15 |
|
||
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
wadman Чтобы добавить в механизм буферизации опережение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2020, 18:59 |
|
||
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ wadman Чтобы добавить в механизм буферизации опережение. Понятно. Про опережение не вычитал. С датасетом - аналогично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2020, 19:52 |
|
||
|
Прокрутка TDBGrid
|
|||
|---|---|---|---|
|
#18+
Вот странно что до сих пор никто не спросил ТС нафига! Нафига ему нужно именно такое поведение DBGrid'a при скролле мышкой? Чем его не устраивает то что есть сейчас? Вот лично меня всё устраивает при скролле мышкой DBGrid'a начиная с BDS, когда наконец-таки DBGrid начал правильно реагировать на такой скролл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 04:12 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=45&tid=2038367]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 383ms |

| 0 / 0 |
