Jmix version: 2.8.1, Jmix Studio: 2.8.0-253. Возможно ли добавить фильтры под заголовками в Grouping Data Grid в виде строки ввода (как property filter), а не иконкой фильтра, чтобы можно было сразу видеть значение? Если невозможно, то в будущем будет добавлен такой функционал?
Добрый день!
Обычно такой фильтр делается через добавление заголовка. Простой пример:
XML collection container
<collection id="customersDc" class="com.company.dev.entity.Customer">
<loader id="customersDl" readOnly="true">
<query>
<![CDATA[select e from Customer e]]>
<condition>
<and>
<c:jpql>
<c:where>e.firstName like :firstName</c:where>
</c:jpql>
</and>
</condition>
</query>
</loader>
<fetchPlan extends="_base">
<property name="country" fetchPlan="_instance_name"/>
</fetchPlan>
</collection>
@ViewComponent
private GroupDataGrid<Customer> customersDataGrid;
@ViewComponent
private CollectionLoader<Customer> customersDl;
@Subscribe
public void onInit(InitEvent event) {
DataGridColumn<Customer> firstNameColumn = customersDataGrid.getColumnByKey("firstName");
HeaderRow.HeaderCell cell = customersDataGrid.appendHeaderRow().getCell(firstNameColumn);
TextField textField = new TextField();
textField.addValueChangeListener(e -> {
if (e.getValue().isEmpty()) {
customersDl.removeParameter("firstName");
} else {
customersDl.setParameter("firstName", "%" + e.getValue() + "%");
}
customersDl.load();
});
cell.setComponent(textField);
}