Вопрос № 92928: Здравствуйте товарищи!
Помогите решить проблему:
Использую DevExpress ExpressQuantumGridv6.1 и FIBPlus 6.5.
У меня двухуровневый грид, но во втором уровне отображаются не все записи, которые там есть.
При работе с компонентом Table эт...
Вопрос № 92.928
Здравствуйте товарищи!
Помогите решить проблему:
Использую DevExpress ExpressQuantumGridv6.1 и FIBPlus 6.5.
У меня двухуровневый грид, но во втором уровне отображаются не все записи, которые там есть.
При работе с компонентом Table эта проблема решалась тем, что нужно было выставить в свойстве IndexFielsNames индекс, через который происходит связь.
Но в FIB'ах нет компонента Table, использую FIBDataSet.
Как сделать так, чтобы отображались все записи, связанные с таблицой, находящейся в первом уровне?
Отправлен: 26.06.2007, 08:29
Вопрос задал: Latent (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Проходящий Мимо
Здравствуйте, Latent!
DevExpress ExpressQuantumGridv6.1 здесь ни при чем. У Вас есть два датасета: главный FIBDataSet1 и подчиненный FIBDataSet2. В обеих обязательно нужно иметь первичный ключ, скажем Id. В таблице, привязаной к FIBDataSet2 нужно иметь вторичный ключ - поле, которое ссылается на первичный ключ главной таблицы, например IdTable1. Без него кина не будет.
Тогда делаем так для FIBDataSet2:
1. В свойство DataSource прописываем ТDataSource главной FIBDataSet1, DataSource1;
2. Cвойство SelectSQL заполняем по аналогии:
select * from Table2
where IdTable1 = :ID -- здесь мы говорим, сделать выборку для таблицы 2, где вторичный ключ равняется равный первичному ключу таблицы 1.
Кажется все...
--------- Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 8-ой класс)
Ответ отправлен: 26.06.2007, 10:58