Текущий архив: 2004.04.11;
Скачать: CL | DM;
ВнизКак проверить присутствует-ли занчение в TDataSet ? Найти похожие ветки
← →
Rych (2004-04-13 13:19) [0]Всем доброго времени! Проблема такая: есть TIbQuery фильтрующий таблицу IB по заданному критерию. В результатах пользоваткль делает закладки (Bookmark не подходит так как ссылается на номер записи и при пересортировке валидный Bookmark указывает не туда), нужно проверить присутствует-ли запись со значением закладки при текущем фильтре. Lookup хоть и не изменят текущей записи, но скролит таблицу и оказывается что под курсором после клика не та запись что была до. Есть-ли способ перерыть DataSet без скроллинга ?
Заранее благодарен Rych.
← →
Rych (2004-04-13 13:19) [0]Всем доброго времени! Проблема такая: есть TIbQuery фильтрующий таблицу IB по заданному критерию. В результатах пользоваткль делает закладки (Bookmark не подходит так как ссылается на номер записи и при пересортировке валидный Bookmark указывает не туда), нужно проверить присутствует-ли запись со значением закладки при текущем фильтре. Lookup хоть и не изменят текущей записи, но скролит таблицу и оказывается что под курсором после клика не та запись что была до. Есть-ли способ перерыть DataSet без скроллинга ?
Заранее благодарен Rych.
← →
Курдль © (2004-04-13 13:20) [1]А TIbQuery.DisableContrils не подойдет?
← →
Курдль © (2004-04-13 13:20) [1]А TIbQuery.DisableContrils не подойдет?
← →
Rych (2004-04-13 13:25) [2]Пробовал :) - всё равно состояние грида изменяется и позиционирует запись аккурат в центер :(
← →
Rych (2004-04-13 13:25) [2]Пробовал :) - всё равно состояние грида изменяется и позиционирует запись аккурат в центер :(
← →
Domkrat © (2004-04-13 15:02) [3]Отдельно сделать запрос спомощью IBSQL.
← →
Domkrat © (2004-04-13 15:02) [3]Отдельно сделать запрос спомощью IBSQL.
← →
Курдль © (2004-04-13 15:16) [4]Ну ладно, припомнить ID записи, перелопатить набор данных, а потом сделать Locate по этому ID.
← →
Курдль © (2004-04-13 15:16) [4]Ну ладно, припомнить ID записи, перелопатить набор данных, а потом сделать Locate по этому ID.
← →
clickmaker © (2004-04-13 15:46) [5]type
TCrackedDBGrid = class(TDBGrid);
OldActive := TCrackedDBGrid(DBGrid).DataLink.ActiveRecord;
DBGrid.DataSource.DataSet.Locate
TCrackedDBGrid(Sender).DataLink.ActiveRecord := OldActive;
← →
clickmaker © (2004-04-13 15:46) [5]type
TCrackedDBGrid = class(TDBGrid);
OldActive := TCrackedDBGrid(DBGrid).DataLink.ActiveRecord;
DBGrid.DataSource.DataSet.Locate
TCrackedDBGrid(Sender).DataLink.ActiveRecord := OldActive;
← →
Rych (2004-04-13 18:37) [6]Относительно отдельного запроса - меня терзают смутные сомнения - "Закладок", по моим представлениям может быть около десятка (вряд-ли пользователь удержит в голове больше) проверять их "валидность" нужно по клику и соответственно строить список. Если по каждому клику выполнять запрос 10 раз - мне кажется будет тормозить.
С ActiveRecord я пробовал - пытался восстановить положение строки в гриде - не получилось если Lookup не меняет текущую запись, то изменение ActiveRecord у меня позиционирует курсор на другую запись, не являющуюся текущей в DataSet, а скроллинг приводит к скроллингу DataSet.
А вот по поводу ID записи - я с этим не работал - если можно поподробнее - где его взять? или где почитать? Плиз!
← →
Rych (2004-04-13 18:37) [6]Относительно отдельного запроса - меня терзают смутные сомнения - "Закладок", по моим представлениям может быть около десятка (вряд-ли пользователь удержит в голове больше) проверять их "валидность" нужно по клику и соответственно строить список. Если по каждому клику выполнять запрос 10 раз - мне кажется будет тормозить.
С ActiveRecord я пробовал - пытался восстановить положение строки в гриде - не получилось если Lookup не меняет текущую запись, то изменение ActiveRecord у меня позиционирует курсор на другую запись, не являющуюся текущей в DataSet, а скроллинг приводит к скроллингу DataSet.
А вот по поводу ID записи - я с этим не работал - если можно поподробнее - где его взять? или где почитать? Плиз!
← →
kaif © (2004-04-13 23:21) [7]Можно запомнить последнее текущее значение ключевого поля, затем вызвать DisableControls, затем найти то, что нужно с помощью locate или lookup, затем вернуться к исходной записи с помощью того же locate (по последнему текущему значению ключевого поля), затем вызвать EnableControls. Ничего дергаться при этом не должно, насколько я понимаю.
← →
kaif © (2004-04-13 23:21) [7]Можно запомнить последнее текущее значение ключевого поля, затем вызвать DisableControls, затем найти то, что нужно с помощью locate или lookup, затем вернуться к исходной записи с помощью того же locate (по последнему текущему значению ключевого поля), затем вызвать EnableControls. Ничего дергаться при этом не должно, насколько я понимаю.
Страницы: 1 вся ветка
Текущий архив: 2004.04.11;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.034 c