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

Вниз

список значений поля   Найти похожие ветки 

 
Vir   (2004-10-19 18:05) [0]

Как получить все значения поля из Table не премащая курсор? А то используя next перерисовываються все визуальные контролы что тормозит процесс.


 
Johnmen ©   (2004-10-19 18:36) [1]

Никак.
DisableControls+F1


 
Vir   (2004-10-19 18:42) [2]

А DataSet их тогда от куда получает?
уверен что должен быть буфер записей.


 
Vir   (2004-10-19 18:43) [3]

точнее DataSource


 
Ega23 ©   (2004-10-19 18:43) [4]

Гм... DataSet и есть тот буфер записей...


 
Vir   (2004-10-19 18:47) [5]

Гм... DataSet и есть тот буфер записей...
Вот именно TTable и есть он - так как от туда получть все записи разом в какой либо свой буфер.


 
Ega23 ©   (2004-10-19 18:48) [6]

Ну как... First, While not Eof, Next ...


 
Ega23 ©   (2004-10-19 18:49) [7]

А нафиг?


 
Vir   (2004-10-19 19:11) [8]

Ну а грид - он же прорисовывет содержимое не перемещая курсора, значит есть возможность получать не только текущую запись.
А нафиг? - да думаю что так по быстрее будет.


 
Ega23 ©   (2004-10-19 19:12) [9]

Быстрее чем что?


 
Vir   (2004-10-19 19:17) [10]

Быстрее работать со своим буфером чем перемещаться через next


 
Ega23 ©   (2004-10-19 19:20) [11]

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


 
Vir   (2004-10-19 19:27) [12]

В том то и дело что в некоторый момент есть неоходимость исправить все значения одного поля.
Но посколько на таблицу завязанно еще несколько Query через master-detail- при перемецении по записям все они начинаю перечитывать базу и соответсвенно перерисовать свои  визуальные компоненты это очень сильно ест время.
Было бы идеально пройтись по записям и потом все котролы один раз пречитать.


 
Ega23 ©   (2004-10-19 19:31) [13]

см. Johnmen ©   (19.10.04 18:36) [1]


 
ЮЮ ©   (2004-10-20 03:00) [14]

>Ну а грид - он же прорисовывет содержимое не перемещая курсора
У грида для этих целей есть свой буфер - DataLink - но содержит он только те записи, которые видны в гриде


 
Sergey13 ©   (2004-10-20 09:40) [15]

2[12] Vir   (19.10.04 19:27)
>В том то и дело что в некоторый момент есть неоходимость исправить все значения одного поля
Может в этом случае выгоднее выполнить отдельный модифицирующий это поле запрос? И переоткрыть исходный датасет.


 
msguns ©   (2004-10-20 10:10) [16]

>Vir   (19.10.04 19:27) [12]
>В том то и дело что в некоторый момент есть неоходимость исправить все значения одного поля.
Но посколько на таблицу завязанно еще несколько Query через master-detail- при перемецении по записям все они начинаю перечитывать базу и соответсвенно перерисовать свои  визуальные компоненты это очень сильно ест время.
Было бы идеально пройтись по записям и потом все котролы один раз пречитать.

Тяжелое наследие таблизма.. Меняем данные только его методами, линкуемся через Master-Detail.. Запросы, вынос логики из клиента на сервер - это все для А.С.Пушкина.


 
Draught ©   (2004-10-20 10:29) [17]

У DBGrid свойство DataSource, можно на время манипуляций, которые не нужно видеть, менять значение этого поля на пустое, а после всех манипуляций заново дописывать DM.DATASource1


 
msguns ©   (2004-10-20 10:53) [18]

>Draught ©   (20.10.04 10:29) [17]
>У DBGrid свойство DataSource, можно на время манипуляций, которые не нужно видеть, менять значение этого поля на пустое, а после всех манипуляций заново дописывать DM.DATASource1

Все верно, но.. Если по каким-то причинам состав или последовательность полей датасета, указанного в датасорсе, изменилось, то грид может "подвесить" приложение. Чтобы этого не было, надо после "обнуления" указателя на датасорс делать колонкам грида Columns.Clear, а после присвоения выполнять метод
Columns.RebuildColumns. Правда, все геометрические изменения, сделанные узером, весело гавкнуться, но это уже несколько другая история ;)


 
Draught ©   (2004-10-20 11:09) [19]


> msguns ©   (20.10.04 10:53) [18]
> Правда, все геометрические изменения,
> сделанные узером, весело гавкнуться, но это уже несколько
> другая история ;)


Да и пофик-то... главное не видно, что программа делает и делает быстро... А если геометрические изменения очень важны, то их можно сохранять, а потом подгружать... :)))))


 
Ega23 ©   (2004-10-20 11:14) [20]

Да и пофик-то... главное не видно, что программа делает и делает быстро... А если геометрические изменения очень важны, то их можно сохранять, а потом подгружать... :)))))

... и уйдёт на это времени больше, чем на рефреш датасета



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

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

Наверх




Память: 0.51 MB
Время: 0.03 c
14-1099410088
Murkt
2004-11-02 18:41
2004.11.21
Лол


4-1097217351
Fishka
2004-10-08 10:35
2004.11.21
Версия операционной сиситемы


9-1088556762
Xerx
2004-06-30 04:52
2004.11.21
Принцип построения теней


1-1099661604
GIL
2004-11-05 16:33
2004.11.21
как узнать запущен ли процесс с определенным именем?


14-1099422893
ИМХО
2004-11-02 22:14
2004.11.21
Заглянем в будущее