Могу ли я сделать поиск из двух наборов данных одновременно? - PullRequest
1 голос
/ 12 декабря 2008

В этом вопросе Я задал вопрос о разбиении набора данных на подмножества и получил хороший ответ. Теперь у меня противоположная проблема. У меня есть два разных набора данных, представляющих объекты двух разных подклассов общего предка, и мне нужно, чтобы один и тот же TDBLookupComboBox осуществлял поиск по ним обоим одновременно, используя два свойства, ID # и Name, которые существуют в родительском объекте. класс.

Поле поиска позволяет вам искать вещи из нескольких исходных полей, но только в одном наборе данных, а не в двух разных. И элемент управления поиском позволяет вам указать только одно поле поиска для поиска. Кто-нибудь знает, как я мог получить данные из обоих наборов данных, чтобы появиться вместе в поле со списком?

Ответы [ 4 ]

3 голосов
/ 12 декабря 2008

Создайте свой собственный TDBLookupComboBox, который принимает несколько источников данных. , , , Ранее я создал элементы управления с поддержкой БД (в частности, выпадающие списки). Их довольно легко сделать и дать вам все необходимое управление.

2 голосов
/ 12 декабря 2008

Вы можете клонировать записи из обоих наборов данных в новый набор данных, содержащий объединение обоих.

1 голос
/ 12 декабря 2008

Ответ содержится в вашем оригинальном вопросе , на который вы ссылались. Вы говорите, что члены обоих наборов данных имеют общего предка. Поэтому поместите все эти записи объектов в один TClientDataset, а затем для двух ваших дочерних наборов данных просто используйте клонированный курсор из этого базового набора данных. Таким образом, вы можете получить к ним доступ как к отдельным наборам, так и к их совокупности.

Конечно, проблема заключается в любых данных, которые добавляются в дочерние классы, которые не являются общими для базового класса, при условии, что они у вас есть. , ,

0 голосов
/ 12 декабря 2008

Создание потомка TDataSource или TDataSet, который фактически является объединением других TDataSet. Затем при вставке вы либо всегда вставляете в один конкретный TDataSet, либо имеете правила, основанные на значении определенного поля, которое определяет, в какой TDataSet вставлять , , .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...