06.08.2018, 11:28 | #1 |
Мрачный тип
|
Фильтрация источника данных формы - мелкий нюанс
Коллеги, подскажите, пжалста, по ситуации, ибо чую наличие некоего мелкого, но адски существенного пробела в понимании работы subj'а.
Есть форма с гридом и источником данных, который фильтрую следующими способами (каждый пункт выполнялся на свежезапущенной форме - т.е. состояние источника данных идентично в обоих случаях):
В чем заключается отличие ? Как система распознает, что в одном случае есть наложенные фильтры, которые можно сбросить и активирует соотв. кнопку ?
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
06.08.2018, 11:35 | #2 |
Участник
|
возможно, в одном случае изменения в ds.query(), а в другом в ds.queryRun().query() ?
|
|
06.08.2018, 12:14 | #3 |
Мрачный тип
|
Не-не-не ...
При работе через объект, возвращаемый ds.queryRun().query() вообще не работает фильтрация по при'join-енной таблице , т.к. при любом последующем вызове ds.executeQuery() записанная туда структура источников данных и ограничений перезатирается. Работа в любом случае идет через ds.query()
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
06.08.2018, 12:22 | #4 |
Участник
|
а сами запросы вы уже сравнивали по-объектно?
может быть, у ренджей наложенных через стандартный диалог, какие-то свойства выставлены (Hidden, Locked и проч.) ? |
|
06.08.2018, 12:22 | #5 |
Участник
|
Цитата:
Цитата:
Работа в любом случае идет через ds.query()
|
|
|
За это сообщение автора поблагодарили: TasmanianDevil (5). |
06.08.2018, 12:23 | #6 |
Участник
|
В режиме конструктора запроса можно удалять, только свеже-добавленные связи. Если нажать "Ок" и выйти, а затем вернуться снова в настройку, то удалить связь уже нельзя.
Разбирался немного когда была необходимость сделать не только ExistsJoin, но и все остальные типы связи. Всё дело в реализации. Исходный запрос парсится на наборы и связи между ними. Для вновь добавленных наборов выставляется своя иконка в Treeview. И по этой иконке определяется можно ли удалять набор. Если набор уже был в запросе, то иконка будет другая. Думаю если поправить это место, то всё будет редактируемо. |
|
06.08.2018, 12:23 | #7 |
Участник
|
Если ds.queryRun().query() == ds.query() фильтрации нет, соответственно сбрасывать нечего.
__________________
Бывает, что человек молчит, когда ничего не знает о данном предмете, но чаще – когда знает о нем все. (Джордж Бернард Шоу) |
|
06.08.2018, 13:14 | #8 |
Мрачный тип
|
Макс, в очередной раз поклон тебе за наставление на путь истинный!
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|