Pregunta sobre datatable, clickable, wicket – Haciendo que toda la fila de una ventanilla se pueda hacer clic en

9

¿Es posible hacer que se pueda hacer clic en la fila completa de una tabla de datos de Wicket? si es así, cómo ? He visto ejemplos de cómo hacer que se pueda hacer clic en una celda al extender la clase PropertyColumn, que es bastante fácil pero no puede encontrar una solución fácil para toda la fila.

No creo que haya una solución más fácil para esto que usar tu propiaPropertyColumn implementación. Podrías echar un vistazo anewRowItem en elDataTable clase y el metodo anuladonewRowItem en elDataGridView. rotsch

Tu respuesta

1   la respuesta
19

esto hace el trabajo

//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;

}
¿Cómo sabes en qué objeto se hizo clic en el método onEvent? DavidVdd
¿Hay alguna manera de que pueda devolver un documento en un clic de fila? Recibo errores de Ajax cuando intento devolver un ResourceStreamRequestHandler (que contiene un PDF que genero sobre la marcha al hacer clic en la fila). Johncl
Según el modelo, las ventanillas internas tienen una pista de la relación entre las filas y los objetos. osdamv
Respuesta muy útil. Además, la anulación de este método me permite establecer el ID de marcado de cada fila, lo que me resultó muy útil en mi caso, ya que tengo que activar un evento jQuery para resaltar la fila recién insertada que activó una actualización de la Tabla de Datos. Anthony Richir
@Johncl creo que sí, intentaría hacer mi propio ajaxbehaivor, sin embargo, alrededor de un año no programo en wicket :( osdamv

Preguntas relacionadas