/ / GWT: Model Multi Selection nie aktualizuje w niektórych przypadkach statusu tabeli komórek - gwt, wielokrotny wybór

GWT: Model Multi Selection nie aktualizuje statusu celltable w niektórych przypadkach - gwt, multipleselection

Korzystam z GWT MultiSelectionModel w ramachCellTable, w którym mam pole wyboru w jednej kolumnie i widżet w drugiej kolumnie. Dodałem programy obsługi, aby zaktualizować status wyboru na podstawie kliknięć użytkownika. Jeśli użytkownik kliknie dowolną część którejkolwiek z kolumn po wybraniu komórki, status zostanie zaktualizowany poprawnie, a komórka zmieni kolor na biały z jasnoniebieskiego. Jednak jeśli użytkownik kliknie pole wyboru i komórka zostanie zaznaczona, pole wyboru zostanie odznaczone, ale komórka będzie nadal niebieska. Jeszcze bardziej dziwne: ten problem nie występuje, jeśli mam kilka punktów przerwania przed wykonaniem kodu aktualizacji statusu.

We wszystkich innych przypadkach stan komórki i stan pola wyboru są aktualizowane poprawnie. Zauważ, że nie używam interfejsu ProvidesKeys, ponieważ obiekt się nie zmienia.

Czy ktoś może mi w tym pomóc? Dzięki za pomoc.

Odpowiedzi:

1 dla odpowiedzi № 1

Próbowałeś użyć a CheckBoxCell dla kolumny pola wyboru, a w szczególności CheckboxCell(boolean dependsOnSelection, boolean handlesSelection) konstruktor (przekazując true do obu parametrów)?


0 dla odpowiedzi nr 2

Mam prawie ten sam problem, gdy korzystam z MultiSelectionModel. Moje obejście polega na tym, aby zobaczyć kolumnę pola wyboru jako specjalną, a następnie poradzić sobie z nią ręcznie. Powiedz:

myDataGrid.addCellPreviewHandler(
@Override
public void onCellPreview(final CellPreviewEvent<MyCellData> event){
if("click".equals(event.getNativeEvent().getType()) && 0 != event.getColumn()){
doWhatYouWant();
}
}
)