Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 17:07   #1
jahongir007
 
Аватар для jahongir007
 
Регистрация: 04.06.2009
Сообщений: 8
Смущение CheckListBox

Как можно подключить CheckListBox на база данных? Мне нужно выбрать несколько элементов и сортировать по этим элементом. Я не нашел DBCeckListBox. Помогите!!!
MJM
jahongir007 вне форума Ответить с цитированием
Старый 05.06.2009, 17:22   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Используйте функцию, которая создает в гриде чекбоксы. Кажется вот эта может подойти:
Код:
procedure DrawGridCheckBox(Canvas: TCanvas; Rect: TRect; Checked: boolean);
var
  DrawFlags: Integer;
begin
  Canvas.TextRect(Rect, Rect.Left + 1, Rect.Top + 1, ' ');
  DrawFrameControl(Canvas.Handle, Rect, DFC_BUTTON, DFCS_BUTTONPUSH or DFCS_ADJUSTRECT);
  DrawFlags := DFCS_BUTTONCHECK or DFCS_ADJUSTRECT;// DFCS_BUTTONCHECK
  if Checked then
    DrawFlags := DrawFlags or DFCS_CHECKED;
  DrawFrameControl(Canvas.Handle, Rect, DFC_BUTTON, DrawFlags);
end;
На событие OnDrawColumnCell повесьте вызов процедуры DrawGridCheckBox():
Код:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if Column.FieldName = 'WEIGHT' then // Модифицируйте под себя
    if Column.Field.AsInteger > 10 then
      DrawGridCheckBox(DBGrid1.Canvas, Rect, true)
    else
      DrawGridCheckBox(DBGrid1.Canvas, Rect, false)
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 05.06.2009 в 17:28.
artemavd вне форума Ответить с цитированием
Старый 06.06.2009, 09:11   #3
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
Сообщение от jahongir007 Посмотреть сообщение
Как можно подключить CheckListBox на база данных? Мне нужно выбрать несколько элементов и сортировать по этим элементом. Я не нашел DBCeckListBox. Помогите!!!
Какие именно "элементы" должны быть в твоем CheckListBox`е ?
Имена полей по которым ты хочешь сортировать ?
Или какие-то ключевые слова по которым будешь делать выборку из базы ?
Какую базу данных используешь ?
Раскрой вопрос полнее ... будет легче ответить ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 07.06.2009, 11:59   #4
jahongir007
 
Аватар для jahongir007
 
Регистрация: 04.06.2009
Сообщений: 8
По умолчанию

я могу отправит на почту вид форму и описание.
MJM
jahongir007 вне форума Ответить с цитированием
Старый 07.06.2009, 12:10   #5
jahongir007
 
Аватар для jahongir007
 
Регистрация: 04.06.2009
Сообщений: 8
По умолчанию

Спасибо! Если что я буду обращаться к вам!
MJM
jahongir007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Checklistbox, Delphi gleban Помощь студентам 1 02.06.2009 22:24
помощь с checklistbox student90 Компоненты Delphi 8 16.10.2008 11:41
MultiSelect в CheckListBox lexaltd Общие вопросы Delphi 5 15.08.2008 16:28
Checklistbox RealSHELS Общие вопросы Delphi 3 30.07.2008 22:40
CheckListBox ivp88 Компоненты Delphi 4 12.05.2007 15:49