2011-11-04 33 views
6

Mam GWT 2.4 DataGrid skojarzone z SingleSelectionModel. Jedna z kolumn w siatce to CheckboxCell, ale nie jest używana do selekcji, ale do ustawiania wartości pola boolowskiego dla bazowego typu elementu wiersza. Mój problem polega na tym, że kiedy klikam na pole wyboru, wiersz jest wybierany jako pierwszy, następnie muszę kliknąć drugi raz, aby ustawić/anulować zaznaczenie pola wyboru. Wolałbym, aby kliknięcie pola wyboru pod numerem powodowało wybór wiersza, natomiast kliknięcie przycisku w polu wyboru tylko ustawia/wyłącza pole wyboru. Czy ktoś może wskazać mi właściwy kierunek postępowania? Wciąż wracam do onBrowserEvent, ale nie jestem pewien, co wypróbować.Komórki pola wyboru i wiersze tabeli wyboru do wybrania

Odpowiedz

6

Istnieje kilka podejść, które możesz zrobić, w zależności od tego, co dokładnie chcesz zrobić. Oto dwa pomysły, które przychodzą na myśl:

+0

Wypróbuję to w poniedziałek, kiedy wrócę do pracy. Dzięki. –

+1

Czytanie dokumentacji, wydaje się, że SelectionEventManager ma wszystkie narzędzia potrzebne do obsługi tego i innych problemów, które mam. Twoje zdrowie! –

0

Ten kod rozwiązał w moim przypadku problem bardzo podobny do twojego.

Column<SomeBean, Boolean> checkboxColumn= new Column<SomeBean, Boolean>(new CheckboxCell(true,false)) 
{ 
    @Override 
    public Boolean getValue(SomeBean object) 
    { 
     if(object == null || object.getId() == null) 
      return null; 
     return selectionModel.isSelected(object); 
    } 
};