фильтрация набора данных в поле со списком на основе данных в его источнике привязки
Я создал поле со списком, в котором используется набор данных с двумя таблицами, чтобы выполнить поиск значений для отображения, но сохранить другое значение обратно.
Он был создан на основе этого замечательного блога (ее первого пункта из двух в болоте):
Это прекрасно работает, но я хотел бы еще немного почистить: поле со списком не должно отображать имя ребенка в списке. Т.е. он должен показывать все другие возможные варианты, но не должен позволять пользователю выбирать дочерний элемент в качестве собственного родителя.
Должен ли я использовать какой-то запрос фильтра, который ссылается на идентификатор источника привязки дочернего элемента? Должен ли я изменить оператор выбора в наборе данных для поля со списком и, возможно, использовать параметр для получения идентификатора ребенка для фильтрации? Я не уверен, как подойти к этому.
я пошел с изменением запроса выбора для родительского tableadapter и передал текущий дочерний элемент в качестве параметра в Fill.
хорошо работает!
(добавленное предложение к родительскому выбору было примерно таким: (Id ‹> @curId) AND (Id NOT IN (SELECT Id FROM table AS table_1 WHERE (ParentID = @curId)))
-> вторая часть была добавлена, чтобы они также не могли иметь одного из своих детей в качестве родителя.