Używanie vaadin (7.7.3) Filtruję siatkę według nazwy, to filtrowanie zajmuje kilka sekund, aby usunąć obiekty z gui Grid
gui. I tak, jeśli kliknę na tym timelapse wiersz o Grid
, który jest usuwany z Container
, podnosi wyjątek:Jak wychwycić wyjątek podczas filtrowania siatki vaadin
Caused by: java.lang.IllegalArgumentException: Given item id (5422bef6-e472-4d3e-af54-316c52d373da) does not exist in the container
at com.vaadin.ui.Grid$AbstractSelectionModel.checkItemIdExists(Grid.java:1371)
at com.vaadin.ui.Grid$SingleSelectionModel.select(Grid.java:1460)
at com.vaadin.ui.Grid$SingleSelectionModel$1.select(Grid.java:1445)
myślę, że to jest normalne, ponieważ usuwa obiekty z Container
i to będzie propagować do gui.
Zastanawiam się nad uchwyceniem wyjątku nadpisującego metodę checkItemIdExists()
w mojej klasie Grid
, ale wychwyciłoby to wyjątek w każdej sytuacji i nie jest to zachowanie, którego szukam.
Moje pytanie brzmi: Jak mogę uchwycić ten wyjątek tylko w tym przypadku?
Pytasz, jak usunąć zaznaczenie elementu przed użyciem filtra? czy pytasz, jak uniknąć tego wyjątku? – JorgeHortelano
Po prostu złap IllegalArgumentException .. – Jobin
Złapanie wyjątku nie jest możliwe. Ten wyjątek nie został uruchomiony w kodzie aplikacji. Wydaje się, że jest uruchamiany przez bibliotekę komponentów vaadin podczas korzystania z komponentu. – JorgeHortelano