Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Refresh


Ihtiandr ©   (2003-04-17 16:57:00) 

Подскадите мажна-ли как-нибуть не переоткрывая dataset перепрочитать данные. Я думал refresh, но нет.


Anatoly Podgoretsky   (2003-04-18 13:03:00) [1]

MsGuns © (18.04.03 12:46)
Это все правильно, если бы он страдал некоторой информативностью, но цвы за многие месяцы так и не сумел.


Reindeer Moss Eater   (2003-04-18 12:50:00) [2]

Подскадите мажна-ли как-нибуть не переоткрывая dataset перепрочитать данные. Я думал refresh, но нет.

"В огороде бузина, а Киеве - дядька"
Данные на сервере, а датасет на клиенте. Нельзя без нового запроса (Close/Open) получить новые данные лежащие на сервере!


MsGuns   (2003-04-18 12:46:00) [3]

Метод Refresh служит для переотображения (перерисовки) объекта из его внутреннего вида (точнее свойств, задающих координаты, цвет и т.п.) в визуальный.
Применительно к курсорам (а в гриде отображается именно он, а не таблица, запрос и т.д.) он работает с содержимым буфера соотв. НД. Но никак не с источником этого НД (таблицы или таблиц БД). На примере:

Если используется TTable или TIBDataset или им подобные с буферизацией, то при добавлении новой записи или удалении или изменении МЕТОДАМИ ЭТОГО ЖЕ ОБЪЕКТА меняется содержимое буфера и метод Refresh "срабатывает", т.е. видны изменения непосредственно в гриде.
Если же для отображения или обновления БД используется, к примеру TQuery (TIBQuery/TIBSQL) или ДРУГОЙ TTable/TIBDataSet, то в данном гриде Refresh не вызовет никаких визуальных изменений. Для их актуализации надо переоткрыть отображаемый в гриде НД.

ЗЫ. Для BDE-шных TTable или TQuery Refresh вызывает обновления, но это уже особенности BDE. По крайней мере для локальных форматов БД.


Anatoly Podgoretsky   (2003-04-18 10:39:00) [4]

А про него и речь, у него и у многих других есть метод Refresh :-)


Жук   (2003-04-18 10:29:00) [5]


> Anatoly Podgoretsky © (18.04.03 10:26)
> Вообще то для обновления TLabel

Никогда бы не подумал. :-) Что за TLabel ? Я знаю только компонент в Дельфи.


Anatoly Podgoretsky   (2003-04-18 10:26:00) [6]

Жук © (18.04.03 09:52)
Вообще то для обновления TLabel


Stas   (2003-04-18 09:55:00) [7]

А что переоткрыть нельзя ?


Жук   (2003-04-18 09:52:00) [8]


> Lord Warlock © (18.04.03 09:40)

А для чего же ? :-)))


Lord Warlock   (2003-04-18 09:40:00) [9]


> Жук © (18.04.03 09:38)


Вообще-то нет.


Жук   (2003-04-18 09:38:00) [10]

Refresh предназначен для обновления текущей записи, вообще-то.


гончий   (2003-04-18 08:02:00) [11]

Ну вообще работа Refresh зависит от того насколько правильно этот метод перекрыт в наследниках TDataSet. В TTable для локальных таблиц он работает действительно корректно.


Anatoly Podgoretsky   (2003-04-17 18:11:00) [12]

Вообще то Refresh нормально работает, постоянно им пользуюсь.


VAleksey   (2003-04-17 18:02:00) [13]

перепрочитать не переоткрывая :-)))))
Ну вообще...
Нет.


Соловьев   (2003-04-17 17:06:00) [14]

Refresh глючит.

Close; Open;


Наверх

Титульная страница Поиск, карта сайта Написать письмо