Для этого в dict процедуру передаем коллекцию filters, и извлекаем из нее нужный фильтр. Далее запрос строим с учетом значения этого родительского фильтра.
Пример: В фильтре есть категория и дочерняя коллекция.
В процедуре все для коллекций прописываем:
CREATE PROCEDURE [dbo].[crud_relmap_collectionID_dict]
@tableCode nvarchar(32),
@col nvarchar(32),
@username nvarchar(32),
@parameters ExtendedDictionaryParameter readonly,
@filters CRUDFilterParameter readonly
as
begin
declare @catID int
select @catID = try_cast(Value as int) from @filters where [Key]='catID'
-- источник данных для списка значений (Value, Text)
select '' Value, ' Не выбрано ' Text
union
select col.id Value, cat.name +' / ' + col.name Text
from kw_collections col inner join kw_cats cat on cat.id = col.categoryID
where (isnull(@catID, 0)=0 or cat.id=@catID)
end
Таким образом, фильтр будет обновляться в зависимости от значений других фильтров при отработке фильтра (не мгновенно при изменении фильтра).