|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
dblookupcombobox не отображает данные
есть форма редактирования таблицы, несколько значений которой заполняются с помощью dblookupcombobox. проблема в том, что в списке выбора отображаются только первое значение списка. как сделать так, чтобы отображался весь список?
Последний раз редактировалось Андреи4, 16.05.2010 в 10:39. |
#2
|
|||
|
|||
откуда берется список? если из бд, то не одна ли там запись, и свойства бокса все указаны? datasourse,datafield,keyfield
|
#3
|
||||
|
||||
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
|||
|
|||
Цитата:
свойства указаны все, в базе откуда берутся данные записей несколько |
#5
|
||||
|
||||
Вопрос бы поточнее задали что ли. Предполагаю, что вам нужно перейти к последней записи после открытия датасета.
например так: Код:
Table1.Last; |
#6
|
|||
|
|||
Цитата:
|
#7
|
|||
|
|||
Схема БД в приложенном файле.
первый Комбобокс Datasource School Datafield Formid ListSource Form listField Naimen KeyField formid второй комбобокс Datasource School Datafield Progid ListSource programma listField Naimen KeyField progid |
#8
|
|||
|
|||
Свойства не правильно расставлены, datafield,datasource - откуда данные будут браться listfield,listsource- куда подставляться, keyfield - связное поле между таблицами, получается что прог ид вставляется в наименование, хотя если ты их используешь не для подстановки попробуй убрать лист сурс и лист филд
|
#9
|
|||
|
|||
Цитата:
Если свойства заполнить как ты говоришь, то боксы вобще не раскрываются. Мне в итоге нужен такой функционал: 1. Пользователь открывает бызу на редактирование текущей записи (которая существует и поля которой заполнены) 2. щелкает на комбобокс Programma и у него появляются все наименования программ, которые хранятся в одноименной таблице. 3. он выбират нужную, и ее идентификатор заносится в поле progid таблицы school. 4. данные сохраняются. и также для forma |
#10
|
|||
|
|||
Пробуй так:
Datasource-programma datafield-Naimen listsource-School listfield-prog id keyfield-prog id Последний раз редактировалось windaws, 19.05.2010 в 18:16. |
#11
|
||||
|
||||
dblookupcombobox не отображает данные на второй форме
У меня похожая проблема. Две таблицы, в одной данные о встрече с контактом, контакт обозначен номером, во второй таблице полные данные о контакте (фамилия и т.п.), в том числе номер контакта. Таблицы связаны по номеру контакта. Первая таблица отображается на форме в dbgrid. Для редактирования записей первой таблицы создана вторая форма, на которой размещён dblookupcombobox для того, чтобы при редактировании отображались не номера, а фамилии. Для добавления встречи так же хочется заполнять с фамилиями, а не по номерам.
Настройки dblookupcombobox: Datasource DataModule2.DataSource1 (первая таблица) Datafield PersCode (код фамилии из первой таблицы) ListSource DataModule2.DataSource2 (вторая таблица) listField family (поле с фамилиями) KeyField Сode (код фамилии из второй таблицы) В результате в dblookupcombobox отображается только одна фамилия для текущей записи. Изменить фамилию нельзя. При добавлении открывается пустой список. Если разорвать связь, то есть очистить masterfields, то редактирование начинает работать, но добавление нет. В чём может быть причина? |
#12
|
||||
|
||||
dblookupcombobox может работать в 2-режимах.
1.1 Когда данные для списка берутся из запроса/таблицы и все остальное пользователь делает сам. 1.2. Когда данные для списка берутся из запроса/таблицы и выбранное значение вносится в другую таблицу. 2. В обоих случаях для отображения данных в списке лукапа у вас должен быть отдельный запрос/таблица которая не связана никакими мастер/детайл. Судя по тому, что у вас происходит вы нарушили п.2 Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |