Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MultiSelect в DBGrid, сохранение записей... 
:(
    Опции темы
Ksen
Дата 15.3.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем здрасти)))) Помогите, пожалуйста, разобраться с MultiSelect в DBGrid...
Мне нужно запомнить выделенные записи....а через некоторое время отобразить их снова....как это можно лучше сделать?

Пока я додумалась только...переносить в Мемо поля выделенных записей, а потом из этого Мемо искать поле в бд и выделять запись....
)))добавлять выделенные поля в Мемо я научилась...


Memo1.Clear;
for i := 0 to DBGrid1.SelectedRows.Count - 1 do
begin
DBGrid1.DataSource.DataSet.GotoBookmark(Pointer(DBGrid1.SelectedRows.Items[i])); 
Memo1.Lines.Add(DataSource1.DataSet.Fields[1].AsString)
end;

а вот, как это поле найти в бд и выделить его в DBGrid....никак не пойму...помогите, пожалуйста новичку))))
PM MAIL ICQ   Вверх
DimW
Дата 15.3.2007, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

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



Цитата(Ksen @  15.3.2007,  14:57 Найти цитируемый пост)
Пока я додумалась только...переносить в Мемо поля выделенных записей

в нринципи подход верный, но не в мемо сохраняй, а создай переменную типа TStringList и храни в ней идентификаторы записей, именно идентификаторы!!!


Цитата(Ksen @  15.3.2007,  14:57 Найти цитируемый пост)
как это поле найти в бд и выделить его в DBGrid

найти эти поля можно селектом:

Код

select * 
from твоя_таблица
where поле_идентификатор_записи in (здесь перечислены через запятую сохраненные идентификаторы)

после выполнения этого селекта DBGrid покажет твои записи
как динамически строить запрос в делфи думаю ты знаешь...


Это сообщение отредактировал(а) DimW - 15.3.2007, 15:31
PM MAIL ICQ   Вверх
Ksen
Дата 15.3.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



DimW, ммм...может я немного не понимаю.....но селектом я сделаю выборку этих записей из таблицы...а мне нужно, как бы объяснить....записи найти и выделить из общего списка DBGrid...даже наверное, лучше было бы в базе не искать, а искать в DBGrid... smile о как)))) такое вообще возможно???....нашёл-выделил, нашёл-выделил))))
PM MAIL ICQ   Вверх
DimW
Дата 15.3.2007, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

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



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

table1.first;
while not table1.eof do
begin
if table1.FieldByName('имя_поля_значение_которого_сохраняла').asstring = значению_которое_сохраняла then
то выделяешь строку в DBGrid;
table1.next;
end;

только вот перебор всех записей для проверки это не лучший способ, наверное есть более правельный.
так как в делфе я давно не сидел то это все чем могу помочь, по моему можно как то через букмарки.. 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

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


 




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


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

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