Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.035 c
14-1082540052
ИМХО
2004-04-21 13:34
2004.05.09
Вопрос веб-спецам


3-1081433101
ShaG
2004-04-08 18:05
2004.05.09
Excel в DataSet


11-1068215299
SPeller
2003-11-07 17:28
2004.05.09
Глюк с формой


6-1079460407
КомофОнСамый
2004-03-16 21:06
2004.05.09
Как вызвать окно с диалапом?


14-1082362363
Mim1
2004-04-19 12:12
2004.05.09
Монстры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский