Pytanie w sprawie wicket, datatable, clickable – możliwość kliknięcia całego wiersza datacable furtki

9

Czy możliwe jest kliknięcie całego wiersza obiektu Wicket DataTable? Jeśli tak to jak ? Widziałem przykłady, jak można aktywować komórkę, rozszerzając klasę PropertyColumn, co jest dość łatwe, ale nie może znaleźć łatwego rozwiązania dla całego wiersza.

Myślę, że nie ma prostszego rozwiązania niż użycie własnegoPropertyColumn realizacja. Możesz się przyjrzećnewRowItem wDataTable klasa i metoda nadpisananewRowItem wDataGridView. rotsch

Twoja odpowiedź

1   odpowiedź
19

to działa.

//override this method of the DataTable class
@Override
protected Item<T> newRowItem(String id, int index, final IModel<T> model) {

    Item<T> rowItem = new Item<T>(id, index, model);
    rowItem.add(new AjaxEventBehavior("onclick") {

        private static final long serialVersionUID = 6720512493017210281L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
        //callback or do some stuff
        }

    }); 
    return rowItem;

}
Czy w jakiś sposób mogę zwrócić dokument kliknięciem w wierszu? Otrzymuję błędy Ajax, gdy próbuję zwrócić ResourceStreamRequestHandler (który zawiera PDF generowany w locie po kliknięciu wiersza). Johncl
@Johncl tak myślę, postarałbym się stworzyć własny ajaxbehaivor, ale około roku nie programuję w furtce :( osdamv
Bardzo pomocna odpowiedź. Dodatkowo, przesłonięcie tej metody pozwala mi ustawić identyfikator znaczników każdego wiersza, co jest bardzo pomocne w moim przypadku, ponieważ muszę wyzwolić zdarzenie jQuery, aby podświetlić nowo wstawiony wiersz, który spowodował odświeżenie DataTable. Anthony Richir
Skąd wiesz, który obiekt został kliknięty w metodzie onEvent? DavidVdd
według modelu wewnętrzna furtka ma ślad relacji między rzędami i obiektami osdamv

Powiązane pytania