![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDBComboBox не дает выбирать значения [D7, IB6.x]
Nick-From © (2004-09-23 15:22:00)Показывает только одну текущую позицию Dataset, а в выпадающем списке пусто - в чем проблема? Когда проходишься по dataSet, значение в TDBComboBox меняется на текущее в DataSet, но выпадающий список остается пустым.
Подключил к тому же DataSource DBListBox - так он вообще пустой :(
DataSet - открыт, все данные в нем видны нормально.
ЮЮ (2004-09-24 02:27:00) [1]>Настроил TDBLookupComboBox - Нужное видно, но что-либо выбрать не получается - TDBLookupComboBox всегда остается пустым !!
Значит опять не то настроил. DataSet для выпадающего спмска указывают ч/з ListSource, а DataSource может быть и пустым, т.е. не связанным с редактируемым DataSet
Nick-From (2004-09-23 21:28:00) [2]Просто фишка-то в чем - при добавлении/изменении записей сейчас я использую не связанные с НД компоненты типа TEdit - появляется форма с edit'ами, пользователь все вводит ручками, потом Вызывается ХП, куда в качестве параметров передается содержимое edit'ов. Ну и добавляется/изменяется запись.
Но вот при связанных таблицах, в таких формачках, как оказалось, одних edit'ов мало - нужно видеть записи из других таблиц при заполнении, для возможности выбора и передачи id этих записей в качестве параметра тех же процедур. А простым edit'ом их не увидишь и не выберешь ничего. Можно конечно напротив такого edit'а поставить кнопку <...> по нажатию на которую выскочит формочка с DBGrid от нужного НД - подводим крсор куда надо - enter - в edit упало название из НД; в параметры - соответствующее id записи.
Я решил пойти проще и присобачить LookUp, ночто-то не очень выходит :(
Nick-From (2004-09-23 21:07:00) [3]Курсор перейдет на последнюю запись нд, как это помогет?
Fay (2004-09-23 20:56:00) [4]YourDataSet.Last;
nick-from (2004-09-23 20:53:00) [5]Ну вроде вспомнил :)
Настроил TDBLookupComboBox - Нужное видно, но что-либо выбрать не получается - TDBLookupComboBox всегда остается пустым !!
Раньше на Paradox помню работало без проблем. Можт это из-за того, что сейчас вместо TTable использую TDataSet? И нужно руками сейчас заполнить все SQLs?
Sandman25 (2004-09-23 16:12:00) [6][3] Nick-From © (23.09.04 16:07)
Как работает TComboBox, знаете? TDBComboBox записывает TComboBox.Text в нужное поле, больше отличий нет.
Nick-From (2004-09-23 16:07:00) [7]Дык, ведь, если dataset открыт, в выпадающем списке TDBComboBox должны быть видны все остальные записи этого поля? А у меня этот список вобще пуст (хотя записей полно).
Нужно при вводе скажем нового документа, установить ну поставщика скажем, лепим TDBComboBox с привязкой к таблице постащиков, выбираем нужного по названию, а в таблицу документов кладем при втавке id выбранного поставщика, добравшись до него так: dbcombobox.datasource.dataset.fieldbyname('id').asinteger;
Я так понимаю процесс, правильно?
А lookup не пойдет, т.к. документ еще не создан, не к чему его вязать (или сначала надо получать id, создавать документ, потом редактировать и уже тогда вязать.
Linco (2004-09-23 15:42:00) [8]Точно, lookup контролы служат для выбора данных для одного поля из другого поля, а просто комбобокс для выбора данных из заранее определенного набора строк.
Johnmen (2004-09-23 15:27:00) [9]TDBLookupComboBox