Hello, I want to filter the rows of the table by selecting a value in the LookUpField.
but the filter won’t work
<data readOnly="true">
<collection id="departmentsDc" class="com.company.edm.entity.Department" view="_base">
<loader id="departmentsDl">
<query>
<![CDATA[select e from edm_Department e]]>
</query>
</loader>
</collection>
<collection id="positionsesDc" class="com.company.edm.entity.Positions" view="_base">
<loader id="positionsesDl">
<query>
<![CDATA[select e from edm_Positions e]]>
</query>
</loader>
</collection>
<collection id="usersesDc"
class="com.company.edm.entity.Users">
<view extends="_local" systemProperties="true">
<property name="department" view="_local"/>
<property name="position" view="_local"/>
<property name="telephone" view="_local"/>
<property name="status" view="_local"/>
</view>
<loader id="usersesDl">
<query>
<![CDATA[select e from edm_Users e]]>
<condition>
<and>
<c:jpql>
<c:where>e.department = :component_departmentLookupField</c:where>
</c:jpql>
<c:jpql>
<c:where>e.position = :component_positionsLookupField</c:where>
</c:jpql>
</and>
</condition>
</query>
</loader>
</collection>
</data>
<dialogMode height="600"
width="800"/>
<layout expand="usersesTable"
spacing="true">
<hbox width="100%" spacing="true">
<tabSheet id="filterTabSheet">
<tab id="defaultFilterTab" caption="Фильтр" margin="true" spacing="true">
<hbox spacing="true">
<lookupField
id="departmentLookupField"
optionsContainer="departmentsDc"
caption="Департамент"
nullOptionVisible="true"
/>
<lookupField
id="positionsLookupField"
optionsContainer="positionsesDc"
caption="Должность"
nullOptionVisible="true"
/>
<button align="BOTTOM_CENTER"
id="clearFilterBtn"
action="usersesTable.clearFilter"
/>
</hbox>
</tab>
<tab id="extendedFilter" caption="Свой фильтр" margin="true" spacing="true">
<filter id="filter"
width="100%"
borderVisible="false"
collapsable="false"
collapsed="false"
applyTo="usersesTable"
dataLoader="usersesDl">
<properties include=".*"/>
</filter>
</tab>
</tabSheet>
</hbox>
<groupTable id="usersesTable"
width="100%"
dataContainer="usersesDc" align="TOP_CENTER">
<actions>
<action id="create" type="create"/>
<action id="edit" type="edit"/>
<action id="remove" type="remove"/>
<action id="clearFilter"
caption="Очистить"
icon="ERASER"/>
</actions>
<columns>
<column id="fio"/>
<column id="department"/>
<column id="position"/>
<column id="telephone"/>
<column id="login"/>
<column id="documents"/>
<column id="date_reg"/>
<column id="status"/>
</columns>
<rowsCount/>
<buttonsPanel id="buttonsPanel"
alwaysVisible="true">
<button id="createBtn" action="usersesTable.create"/>
<button id="editBtn" action="usersesTable.edit"/>
<button id="removeBtn" action="usersesTable.remove"/>
</buttonsPanel>
</groupTable>
<hbox id="lookupActions" spacing="true" visible="false">
<button action="lookupSelectAction"/>
<button action="lookupCancelAction"/>
</hbox>
</layout>
UsersBrowse
@UiController("edm_Users.browse")
@UiDescriptor("users-browse.xml")
@LookupComponent("usersesTable")
@LoadDataBeforeShow
@Route("users")
public class UsersBrowse extends StandardLookup<Users> {
@Inject
protected LookupField<Department> departmentLookupField;
@Inject
protected LookupField<Positions> positionsLookupField;
@Subscribe("clearFilterBtn")
public void onClearFilterBtnClick(Button.ClickEvent event) {
departmentLookupField.setValue(null);
positionsLookupField.setValue(null);
}
}