Есть ли эквивалент TDBComboBox, который идет по ItemIndex? - PullRequest
2 голосов
/ 18 ноября 2008

В записи справочного файла для TDBComboBox говорится, что текст выбранного параметра становится новым значением для поля. Есть ли подобный элемент управления, который идет ItemIndex вместо текста? (Например, для представления перечислимого типа.)

Ответы [ 2 ]

3 голосов
/ 18 ноября 2008

Попробуйте TDBLookupComboBox. Проверьте свойства ListField, DataField и KeyField.

2 голосов
/ 18 ноября 2008

Вы можете заполнить элементы TDBComboBox числами ('0,' 1 ',' 2 ', ...), но установить DBComboBox1.Style в csOwnerDrawFixed и записать событие OnItemDraw. Примерно так:

procedure TForm1.DBComboBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with (Sender as TDBComboBox).Canvas do
  begin
    FillRect(Rect);
    TextRect(Rect, Rect.Left+1, Rect.Top+1, MyValueDescriptions[Index]);
  end;
end;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...