Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.04.2012, 09:08
МАрковка МАрковка вне форума
Прохожий
 
Регистрация: 11.03.2012
Сообщения: 7
Репутация: 10
Вопрос вставка DBCombobox в DBGrid

Всем доброго времени суток!
Помогите, пожалуйста, со вставкой DBCombobox в DBGrid
Задача стоит чтобы в одной из колонок ДБГрид2 отображался Комбобокс с данными одной из колонок ДБГрид1
На данный момент код такой (ошибок при компиляции не дает)
Код:
procedure TForm1.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if (gdFocused in State) then
    if (Column.Field.FieldName = dbcombobox1.DataField) then begin
      DBCombobox1.Left := Rect.Left + DBGrid2.Left;
      DBCombobox1.Top := Rect.Top + DBGrid2.top;
      DBCombobox1.Width := Rect.Right - Rect.Left + 2;
      DBCombobox1.Visible := True;
    end;

end;

procedure TForm1.DBGrid2ColExit(Sender: TObject);
begin
 if DBGrid2.SelectedField.FieldName = DBCombobox1.DataField then
    DBCombobox1.Visible := false;

end; 


procedure TForm1.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key <> chr(9)) then
    if (DBGrid2.SelectedField.FieldName = DBCombobox1.DataField) then begin
      DBCombobox1.SetFocus;
      SendMessage(DBCombobox1.Handle, WM_CHAR, word(Key), 0);
    end;

end;
Еще для присвоения списка надо списать это... НО вот где я не понимаю...
Код:
begin
 for I:=0 to Pred(DBGrid1.Columns.Count) do
 if DBGrid1.Columns[i].Field.FieldName = DBCombobox1.DataField then begin
   DBCombobox1.Items.Assign(DBGrid1.Columns[i].PickList);
   Break;
 end;
Админ: Читаем правила форума и пользуемся тегами, иначе последуют санкции!

Пробовала вначале вставить Комбобокс в ДБгрид2. Вставляет, но списка самого как не было так и нет. Еще проблема стоит в том, что при ручном вводе данных в комбобокс, он печатает справа на лево

Последний раз редактировалось Admin, 13.04.2012 в 09:59.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:17.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025