![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
При навигации по НД, который так же отображается в DBGrid требуется врменно отменить визуальный скроллинг по строкам.....
Иначе говоря, я циклом пробегаюсь по всем записям таблицы, но в DBGrid в это время тоже меняется положение курсора... а мне это не надо... Можно конечно временно "отцепить" DBGrid ot TDataSource, но где то я видел более корректный способ... а где не помню.... может кто-то подскажет? -------------------- |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Именно DataSource! Он как раз для того и нужен, там есть у него свойство Enabled (или что-то похожее) - как раз отключает все визуальные компоненты разом.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Да, это известно, но в том то и вопрос, что бы реализовать это на уровне TDBGrid-а, и только конкретно одного экземпляра TDBGrid. Оперируя его свойствами и методами......
-------------------- |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Устанавливай DataSource в Nil
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
На сколько помню:]
Table1.DisableControl; ............... Tabale1.EnableControl; |
|||
|
||||
| Medved |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Ну вопервых отвечу на вопрос Vit:
в первоначальном вопросе же сказано:
а вот Dapo неправ, в стандартном DBGrid таких свойств как Table1.DisableControl и Tabale1.EnableControl вообще нет. Повторяю, где-то я видел как это реализуется более корректно, и даже помню что там где-то около 5-6 строчек кода, да вот только забыл как, может ну хоть кто-то подскажет? -------------------- |
||||
|
|||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Методы DisableControls, EnableControls - наследованы от TDataSet- присутствуют точно
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Да, да, извиняюсь..... в компоненте TTable есть свойства DisableControls, EnableControls......
Да, только МНЕ ЭТО НЕ НУЖНО.... НЕ НУЖНО МНЕ ДЕАКТИВИРОВАТЬ ВЕСЬ НАБОР ДАННЫХ, а ТОЛЬКО ОТКЛЮЧИТЬ ВИЗУАЛИЗАЦИЮ TDBGrid-a..... причем одного, и имя у него DBGrid1 -------------------- |
|||
|
||||
| Alex Holiday |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 26.10.2002 Где: Красноярск Репутация: нет Всего: нет |
Если это время мало, то можно сделать закладку и после работы цикла или во время указатель возвращать, а если всё долго, то проще наверное просто временно выключать DBGrid Прости, если чё не так понял. :) К стати, если связывать источник с приемником запросом, то пока ты его не обновишь (например, если использовать не DBGrid, а простую сетку), то курсор будет как вкопанный. |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Пример с Table1 был показательный. TTable - это всего лишь набор данных другими словами TDataSet ->
DBGrid1.DataSource.DataSet.disablecontrols; DBGrid1.DataSource.DataSet.Enablecontrols;
Ничего ты не деактивируешь, а просто скажешь набору данных, чтобы он не передавал положение курсора в управляющий компонент. Другое дело, если у тебя к одной таблице подключены два DBGrid-a, здесь не проверял (как этот код отразится на состояние DBGrid2?). |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Нет, Dapo - так ты деактивизируещь все контролы, так как DBGrid1.DataSource.DataSet - ссылка на таблицу, и все методы которые ты к ней пименишь реально будут примены к таблице. Если отключить изолированно только DBGrid и не трогать другие компоненты, то только DBGrid1.DataSource:=nil;
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Ладно господа, обязательно найду более корректный способ чем DBGrid1.DataSource:=nil; и обязательно поделюсь с вами!
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |