Форум: "Базы";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];
Внизобновление записей Найти похожие ветки
← →
Bishop (2002-10-08 10:28) [0]Можно ли с помощью FIB сделать автообновляемый грид, так, чтобы не было кнопки "обновить"? Необходимо, чтобы, по крайней мере, добавленные записи показывались при скроллинге в гриде (при скроллинге вверх, так как запрос сортирован по desc добавлению).
← →
Prooksius (2002-10-08 10:39) [1]Не совсем понятно, что ты хочешь.
К примеру ты вставил запись в гриде, ты хочешь, чтобы она сразу вставала на свое место согласно сортировке, а не в конце/где попало?
Попробуй делать Sort/FastSort твоего датасета сразу после вставки примерно так:
Запомнить положение курсора,
Dataset.DisableControls,
Sort/FastSort,
Вспомнить позицию,
Dataset.EnableControls.
← →
Sergey13 (2002-10-08 10:46) [2]Еще один вопрос про ЭТО. Что то часто стали попадаться такие. Недавно 2 было. Светую переиначить твой вопрос с темы "Можно ли" на тему "Нужно ли" и ответить самому.
Запрос (по теории) возвращает СОГЛАСОВАННЫЙ НАДОР ДАННЫХ НА ТЕКУЩИЙ МОМЕНТ ВРЕМЕНИ. А ты хочешь НА ВСЕ ВРЕМЕНА?
← →
Max Zyuzin (2002-10-08 10:54) [3]Не совсем понятен вопрос... Если у вас для навигации по НД и для джобавления используются разные компоненты, то можно по событию AfterInsrt в таблице которая добавляет переоткрывать датасет (навигации) еще раз...
Опишите пожалуйста что необходимо...
← →
Bishop (2002-10-08 11:02) [4]Записи добавляются не в гриде (они добавляются автоматически с разных клиентских мест и довольно часто). Мне необходим лишь browse. Кстати, Sergey 13 правильно уточнил - можно ли сделать запрос "на все времена", т.е. чтобы в пределах текущей транзакции были видны записи, добавленные после ее начала. Меня просили сделать автообновление без кнопки "обновить". Кажется,что это возможно лишь с помощью переоткрытия датасета (и восстановлением текущего курсора) при приходе события добавления новой записи (или изменения). Но датасет просят не переоткрывать.
← →
Леха_ (2002-10-08 11:08) [5]с помощь DBGrid не переоткрывая никак
а если читать в обычный StringGrid то можно с некоторым интервалом добавлять свежие записи как это сделать конкретно зависит от задачи я например просто запоминал максимальное ключевое поле(но там оно создавалось из генератора)
← →
Max Zyuzin (2002-10-08 11:13) [6]Не переоткрывая датасет никак (АФАИК)
Дело в том, что ты будешь видеть только записи в твоей транзакции, а у пользователей они свои...
← →
Prooksius (2002-10-08 11:14) [7]2 Bishop (08.10.02 11:02)
> Но датасет просят не переоткрывать.
Ну это пока невозможно!
Если даже были бы параметры в событиях, если набор данных большой, а updates юзеров частые, это все равно бы тормозило.
Вышел FB 1.5 alpha, обещали сделать параметры событий в бетте.
Можно, конечно, будет попробовать, тем более, что FIB позволяют вставлять/изменять/удалять строчку в датасете без реального изменения в базе. (FilterIn/FilterOut) Но нужен крутой комп и не очень большие наборы данных. Тогда это будет нормально работать.
← →
Prooksius (2002-10-08 11:16) [8]2 Max Zyuzin © (08.10.02 11:13)
Почитай на www.ibase.ru про транзакции.
Проблема заключается только в refresh. А транзакция - мелочи. Какой уровень изоляции поставишь, так и работать будешь.
← →
Desdechado (2002-10-08 11:23) [9]нельзя увидеть что-то, не посмотрев на него
поэтому для того, чтобы увидеть изменения на сервере, надо переоткрыть запрос
← →
Prooksius (2002-10-08 11:39) [10]Все таки у меня такие подозрения, что нормальной, нетормозной реализации того, о чем я тут (и не тут) писал, наверное, не получится, хотя, время покажет.
Если большой датасет - так и так плохо. Тормоза будут по любому.
← →
AM (2002-10-08 11:49) [11]На самом деле это один из довольно распространенных задач в последнее время. Хочется иметь актуальные наборы данных, и чтобы эти наборы данных были всегда актуальны в любую секунду. Стоит ли это делать или нет решать вам. Но перед тем как это делать надо взвесить все за и против.
Для интересующихся можно пойти по ссылке:
http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=13073
хотя там БД MSSQL сервер но я думаю, что принципы одинаковы.
Удачи всем!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c