만약 angel 8 다시 적용 필터에 :나는 다음과 같은 내 그리드에 필터를 추가 한 방법 그리드
filterTextField.addValueChangeListener(event -> {
myListDataProvider.addFilter(
columnName,
value-> value.toLowerCase().contain(filterTextField.getValue()));
});
이 세트를 필터를 적용합니다. 그러나 나중에 나는 그런 그 항목의 재 장전 필요로 그리드에 대한 작업 수행 : 나는 filterTextField
물론이고이 여전히 채워 할 그리드가 다시로드되면
grid.setItems(reloadItemsDueToAction());
는, 그러나 문제가 있다는 것입니다을 나는 돈 ListDataProvider
에 설정된 필터를 다시 적용하여 그리드가 filterTextField
에 따라 다시 필터링되도록하는 방법을 알고 있습니다. 필터는 여전히 ListDataProvider에서 설정해야하지만 어떻게 그리드에 적용합니까?
일반적으로 ['dataProvider.refreshAll()'] (https://vaadin.com/api/8.1.5/com/vaadin/data/provider/DataProvider.html#refreshAll--)를 호출하면 'DataChangeEvent', 그리드가이를 받아 UI를 업데이트합니다. 데이터가'grid.setItems (...) '호출을 요구하기 위해 어떻게 바뀌나요? – Morfic
새로 고침 전체 호출()이 작동하지 않습니다. 예제 작업은 작업의 세부 사항에 따라 하나의 데이터베이스 테이블에서 다른 데이터베이스 테이블로 데이터가 전송되는 작업으로, 그리드를 다시로드하는 것이 더 쉽습니다. 문제는 그리드를 다시로드 할 때 필터가 TextField에서 계속 볼 수 있지만 더 이상 그리드에 적용되지 않는다는 것입니다. –
데이터 공급자를 사용하여 DB 또는 다른 데이터에서 데이터를 검색하고 있습니까? 나는 당신이 [sscce] (http://sscce.org)를 제공 할 수 있다면 더 쉬울 것이라고 느낀다. – Morfic