Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отобразить список записей поля таблицы в combobox?


Bormanoid ©   (2002-02-07 21:25:00) 

Очень признателен!


Alexandr   (2002-02-08 13:02:00) [1]

а потому что ты ему не задал кокое ему поле менять, он же значение из этого поля берет, а раз поля нет, то и выбранного значения нет.
Тут как говорится "No pay -no game"


Bormanoid   (2002-02-08 12:59:00) [2]

Спасибо!
Я просто сменил DBComboBox на простой СomboBox и все ОКЕЙ.
Но почему же DBComboBox не меняет...


Alexandr   (2002-02-08 12:59:00) [3]

я так и думал..!


Bormanoid   (2002-02-08 12:55:00) [4]

Ой-ой-ой!
Блин!
У меня DBComboBox....


Alexandr   (2002-02-08 12:52:00) [5]

слушай, а компонент у тебя какой? Точно Tcombobox?


Bormanoid   (2002-02-08 12:49:00) [6]

У меня в ComboBox.ReadOnle:=false;


Alexandr   (2002-02-08 12:40:00) [7]

Она сама изменится если у тебя у Combobox1 ReadOnly не стоит.


Bormanoid   (2002-02-08 12:37:00) [8]

Johnmen>
У меня в ComboBox не меняеться запись в ComboBox1? Как сменить при OnChange(на выбраную)?


Alexandr   (2002-02-08 12:36:00) [9]

2Johnmen
понял. Вообщем согласен.


Johnmen   (2002-02-08 12:31:00) [10]

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Label1.Caption:=ComboBox1.Text;
end;


Bormanoid   (2002-02-08 12:22:00) [11]

Как юзать OnChange событие в ComboBox в такой ситуации?
А как можно прочитать выбранный елемент?


Johnmen   (2002-02-08 12:12:00) [12]

>Alexandr © :

1. сарказм неуместен
2. ...Другое дело, что некоторые компоненты доступа (к BDE это не относится) могут неправильно посчитать recordCount (по крайней мере пока FetchAll не сделать или Last). Но это частности...
3. не надо заводить i : integer;


Alexandr   (2002-02-08 12:01:00) [13]

в чем выражается "более грамотно".
Можно в двух словах?


Johnmen   (2002-02-08 11:57:00) [14]

>Alexandr © : А кто говорит, что неправильно ? Просто второй пример - более грамотно.


Alexandr   (2002-02-08 11:50:00) [15]

дык это же один хер.
Просто в первом случае записи фетчатся сразу( при recordcount)
а во втором случае постепенно по мере next.

Другое дело, что некоторые компоненты доступа (к BDE это не относится) могут неправильно посчитать recordCount (по крайней мере пока FetchAll не сделать или Last). Но это частности.

Кстати, даже если компоненты будут считать RecordCount только отфетченных записей (так делает например FIBPlus), то первый вариант все равно выполнится правильно. Т.к. сначала RecordCount будет равен 1, а потом с каждым next он будет возрастать на 1, пока до конца выборки не дойдет.


Вот такой вот полный ответ.


Johnmen   (2002-02-08 11:43:00) [16]

>Gregory :
with ComboBox1 do
begin
Items.Clear;
DataSet.First;
while not DataSet.Eof do
begin
Items.Add( DataSet[ "<field to view>" ] );
DataSet.Next;
end;
end;


Gregory   (2002-02-08 08:35:00) [17]

Если DataSet уже есть (Query или Table, например), то используй DBLookupComboBox - там можно задать и отображаемое, и ключевое поля. Или:

with ComboBox1 do
begin
Items.Clear;
DataSet.First;
for i := 1 to DataSet.RecordCount do
begin
Items.Add( DataSet[ "<field to view>" ] );
DataSet.Next;
end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо