Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Checkboxes в Dbgrid 
:(
    Опции темы
MadCoder
Дата 16.5.2008, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Здравствуйте!

Помогите с DbgridEh. Я выгружаю из БД данные в DbgridEh, пользователь их смотрит, выбирает галочками нужные (checkboxes), нажимает кнопку "Ок" и данные грузятся дальше. Как мне сделать checkboxes и как выгрузить данные из таблицы, отмеченные чекбоксами?
PM WWW ICQ   Вверх
Frees
Дата 16.5.2008, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



я это делал так:

у дата сета добовляю вычислимое поле где храню галку при клике по гриду и по этому полю записываю ИД текущей записи в список а в событий вычисления поля смотрю если идешник есть в списке то вычислимому полю присваиваю true в итоге у меня есть список выбранных ИД

суть такая если что не понятно спрашивай

Это сообщение отредактировал(а) Frees - 16.5.2008, 10:47


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
MadCoder
Дата 16.5.2008, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот мой датасет:

SearchResult_Table.DataSource.DataSet

Как мне туда добавить вычисляемое поле и как отловить клик и присвоить значение?
PM WWW ICQ   Вверх
Frees
Дата 16.5.2008, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



а вычислимое поле в  дизигн тайме добавь 
Код

private 
 ListId := TStringList;
.....

procedure TForm1.Create(Sender: TObject);
begin
  ListId := TStringList.Create;
end;
procedure TForm1.CalcFields(DataSet: TDataSet);//событие OnCalcFields у дата сета
var Index: string;
begin
  Index := IntToStr(DataSet.FieldByName('ID').asInteger);
  DataSet.FieldByName('CHECK').AsBoolean := ListId.IndexOf(Index) <> -1;
end;

procedure TForm1.DBGridCellClick(Column: TColumnEh);//событие клика по колонке грида
var valС: string;
 Id: string;
begin
  if Column.FieldName = 'CHECK' then begin
     Id := IntToStr(DataSet.FieldByName('ID').asInteger);
     if ListId.IndexOf(Id)>0 then
        ListId.Delete(ListId.IndexOf(Id))
     else
        ListId.add(id);
  end;
end;


Это сообщение отредактировал(а) Frees - 16.5.2008, 11:26


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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