![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ComboBox и БД [D7, IB6.x]
Russko © (2005-01-18 12:20:00)Подскажите каким образом я могу проще и быстрее данные из одного столбика БД перенести в выпадающий список ComboBox.
Мне не нужен DBComboBox, мне нужно перенести данные именно в обычный ComboBox
Desdechado (2005-01-18 13:02:00) [1]2 Russko
отключи сортировку списка перед закачкой, включи после - так будет быстрее
msguns (2005-01-18 12:37:00) [2]Если записей в справочнике много (речь идет о таблице типа справочника, я правильно понял ?), то ИМХО, нужна модальная форма с полноценным гридом и хорошим сервисом (поиск, фильтрация, сортировка). Список типа комбобокса в этом случае крайне неудобен для юзера.
Кроме того, справочник можно сделать древовидным - в этом случае выборка данных с сервера существенно ускорится, т.к. качаться будут только те записи, которые попадают в выбранную узером группу. Кроме того, в гриде можно показать все поля справочника, а не только типа "наименование", что также может быть весьма не лишне.
ЮЮ (2005-01-18 12:35:00) [3]отключи у DataSet-а обработчики и контролы (DisableControls), ибо и они тоже выполняются при DataSet.Next;
Соловьев (2005-01-18 12:35:00) [4]ну можно еще и DBLookupCombobox юзать
Russko (2005-01-18 12:31:00) [5]У меня так и есть (( но это долго
ЮЮ (2005-01-18 12:27:00) [6]>Подскажите каким образом я могу проще и быстрее
procedure FillComboboxFromDataSet(
DataSet: TDataSet; FieldIndex: integer; ComboBox: TComomboBox
);
begin
ComboBox.Items.Clear;
if DataSet.Stae = dsInactine then
DataSet.Open
else
DataSet.First;
while not DataSet.EOF do begin
ComboBox.Items.Add(DataSet.Fields[FieldIndex].AsString);
DataSet.Next;
end;
end;
Соловьев (2005-01-18 12:24:00) [7]ручками в цыкле