Форум: "Начинающим";
Текущий архив: 2008.10.05;
Скачать: [xml.tar.bz2];
ВнизКак заполнить список TDBComboBox.Items данными из DataSet? Найти похожие ветки
← →
Abcdef123 (2008-08-26 06:05) [0]здравствуйте, Мастера.
Примитивный вопрос наверно. Этот вопрос по оптимальности в общем-то.
Я могу заполнить список вот так:
var
stlList : TStringList;
begin
stlList := TStringList.Create;
dataset.first;
While not dataset.eof do
begin
stlList.Add(dataset.FieldByName("Pole1").AsString);
dataset.Next;
end;
DBComboBox1.Items.Assign(stlList);
Можно правда избежать TStringList, сразу дополнять построчно значение в DBComboBox1. Но мне кажется, что можно более грамотно с точки зрения программирования и короче это сделать (одним махом так сказать). Подскажите, плз, как?
← →
Sergey13 © (2008-08-26 08:36) [1]Тебе наверное нужен TDBLookupComboBox, а не TDBComboBox.
← →
Anatoly Podgoretsky © (2008-08-26 08:48) [2]> Abcdef123 (26.08.2008 6:05:00) [0]
Перед var добавить procedure или function
← →
Abcdef123 (2008-08-26 09:15) [3]To [1]
Насчет TDBLookupComboBox я знаю как использовать, просто в существующей программе используется TDBComboBox, мне просто надо этот же компонент использовать, просто, данные закачать из другого источника. И мой вопрос был прежде всего познавательный, возможно ли более оптимально заполнить список, или только построчно (каждую запись таблицы) добавлять?
To [2] ну уж это я знаю, :-)))))))
просто я на форум написала коротенький кусок программы
Так есть ли какие реальные предложения?
← →
Anatoly Podgoretsky © (2008-08-26 09:36) [4]> Abcdef123 (26.08.2008 9:15:03) [3]
Предложеный вариан, вполне достаточен, только подумать над параметрами.
Я бы передавал TDataset и TSrings
← →
asail (2008-08-26 20:13) [5]И не забудь StringList свой убить в конце... Лучше всего try ... finally используй.
← →
{RASkov} © (2008-08-26 21:14) [6]> И не забудь StringList свой убить в конце... Лучше всего try ... finally используй.
Если быть более оптимальным то он(временный TStringList) вообще не нужен в данном примере...
Зачем лишний раз дергаться? Перед циклом сделать DBComboBox1.Items.Clear;
В цикле DBComboBox1.Items.Add(dataset.FieldByName("Pole1").AsString);
ЗЫ: Авторше вопроса это)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.10.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c