Я создал пользовательскую новую страницу списка со всеми необходимыми частями. Теперь я добавил фильтр в начало, похожий на ProjProjectsListPage, на самом деле у меня есть тот же Active/All, что и в этой форме (однако с моим собственным EDT вместо этого). Фильтр работает отлично, за исключением того, что когда я вхожу в форму, Active показывает как выбранную по умолчанию опцию, но вместо этого отображаются все записи. Когда я выбираю «Все», а затем «Активно», он фильтрует его, как я ожидаю. Мое намерение показывать только активные записи по умолчанию.Добавление пользовательских фильтров к списку страниц
Я заметил, что ProjProjectsListPage по умолчанию присваивает значение All, напротив того, что я пытаюсь сделать. Но, пытаясь понять, что делает этот пример, я смотрю на свойство Selected элемента управления и замечаю, что он установлен по умолчанию, я также ничего не вижу в классе взаимодействия, который меняет его на All. Итак, я немного запутался в том, как это работает.
Но в конечном счете, я пытаюсь сделать что-то подобное, но не совсем, я пытаюсь, чтобы Active был значением по умолчанию (которое оно есть), но также имеет запрос распознать этот фильтр при загрузке формы (не за работой). Я попытался добавить эти несколько строк в initializeQuery() до супер():
NewActiveAllEDT activeAll;
customFilter = SysEPCustomFilter::construct(formStr(NewListPage));
customFilter.load();
customFilter.setInitialFilterControlValue(formControlStr(NewListPage, CtrlActiveAll), 0);
activeAll = customFilter.getFilterControlValue(formControlStr(NewListPage, CtrlActiveAll));
SysQuery::findOrCreateRange(_query.dataSourceTable(tableNum(NewTable)), fieldNum(NewTable, Status)).value(SysQueryRangeUtil::customMethodToFilterThisStatus(activeAll));
... это сделано не правильно фильтровать по форме нагрузки, однако, Active/Все фильтры затем больше не функции, если Я выбираю «Все», похоже, ничего не делает.
Любые идеи?