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

Вниз

Как проверить присутствует-ли занчение в TDataSet ?   Найти похожие ветки 

 
Rych   (2004-04-13 13:19) [0]

Всем доброго времени! Проблема такая: есть TIbQuery фильтрующий таблицу IB по заданному критерию. В результатах пользоваткль делает закладки (Bookmark не подходит так как ссылается на номер записи и при пересортировке валидный Bookmark указывает не туда), нужно проверить присутствует-ли запись со значением закладки при текущем фильтре. Lookup хоть и не изменят текущей записи, но скролит таблицу и оказывается что под курсором после клика не та запись что была до. Есть-ли способ перерыть DataSet без скроллинга ?

Заранее благодарен Rych.


 
Курдль ©   (2004-04-13 13:20) [1]

А TIbQuery.DisableContrils не подойдет?


 
Rych   (2004-04-13 13:25) [2]

Пробовал :) - всё равно состояние грида изменяется и позиционирует запись аккурат в центер :(


 
Domkrat ©   (2004-04-13 15:02) [3]

Отдельно сделать запрос спомощью IBSQL.


 
Курдль ©   (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;


 
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. Ничего дергаться при этом не должно, насколько я понимаю.



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

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

Наверх




Память: 0.48 MB
Время: 0.049 c
1-1080055066
В л а д и м и р
2004-03-23 18:17
2004.04.11
Модальные формы


14-1079798972
Thor
2004-03-20 19:09
2004.04.11
PMagic.cab может у кого есть?


1-1080217763
TransparentGhost
2004-03-25 15:29
2004.04.11
TImage.Picture:=nil; - Правильно ли это?


3-1081844204
Slider007
2004-04-13 12:16
2004.04.11
Вызов запроса MSAccess из Delphi


4-1079423804
ai
2004-03-16 10:56
2004.04.11
StayOnTop с модальным окном...