Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBGrid и удобство, помогите, плиз 
:(
    Опции темы
MacTep
  Дата 5.2.2005, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Привет всем! Есть DBGrid. В нем очень много записей. Мне в определенный момент работы программы нужно пройтись по всем записям в таблице и найти какие-либо записи по какому-либо параметру. Я делаю это так: вста на первую запись (Table1.First) и постепенно перехожу к следующей (Table1.Next). Но при этом в DBGrid отображаются все мои действия с таблицами, постоянно происходит движение данных в таблице (т.е. виден процесс отбора записей). Как сделать так, чтобы этот процесс не был виден? Я бы просто просматривал все записи, а пользователь и не знал, что я это делаю? Спасибо!


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Marriage
Дата 5.2.2005, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

Репутация: нет
Всего: 2



НУ не Знаю даже ...
Может так :

ODS - Тот который связан с Нридоь

ODS1 - Новый, динамический...
ПОтом

ODS.SQL.TEXT1:=ODS.SQL.TEXT;

Или обязательно пряио этот же датасет ???



--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
Alex
Дата 5.2.2005, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



На сколько я знаю это можно сделать, только с помощью еще одного DataSeta


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Sharl
Дата 5.2.2005, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 16.8.2003

Репутация: нет
Всего: нет



Код

 Table1.DisableControls;
 Table1.EnableControls;


Добавлено @ 23:48
А вообще-то используй

function Locate(const KeyFields: string;
const KeyValues: Variant;
Options: TLocateOptions): Boolean;


Table1.Locate(field_name,value, [loCaseInsensitive,loPartialKey]);
PM MAIL   Вверх
MacTep
Дата 6.2.2005, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Спасибо за советы, постараюсь решить проблему. Только вот функция Locate - она же только по ключевым полям поиск осуществляет или я что-то путаю? А можно smile ?
Добавлено @ 12:09
Кстати, данный код:
Код

 Table1.DisableControls;
 Table1.EnableControls;
очень помог! Спасибо! Так как раз все работает! И даже второго dataset не понадобилось! Но и Alex'у тоже отдельное спасибо!


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Sharl
Дата 6.2.2005, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 16.8.2003

Репутация: нет
Всего: нет



Цитата

функция Locate - она же только по ключевым полям поиск осуществляет...?

Нет.


А пример я уже привел
Код


var
 field_name,value: String;

 Table1.Locate(field_name,value, [loCaseInsensitive,loPartialKey]);

PM MAIL   Вверх
Akella
Дата 7.2.2005, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(Sharl @ 5.2.2005, 23:40)
Table1.DisableControls;
Table1.EnableControls;

Такое не всегда прокатит, по крайней мере у меня был случай (master-detail), когда пришлось отказаться от такого метода.

Пришлось использовать
Код

DBGrid1.DataSource.Enabled:=False;
DBGrid2.DataSource.Enabled:=True;


Это сообщение отредактировал(а) dsergey - 7.2.2005, 14:13
PM MAIL   Вверх
~FoX~
Дата 7.2.2005, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



А может проще TQvery использовать?


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
MacTep
Дата 9.2.2005, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Все окейно, уже реил свою проблему. Всем спасибо!


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0491 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.