2012-05-29 13 views
9

È possibile rendere selezionabile l'intera riga di un Wicket DataTable? se é cosi, come ? Ho visto esempi su come rendere una cella selezionabile estendendo la classe PropertyColumn, che è abbastanza facile ma non riesce a trovare una soluzione facile per l'intera riga.rendendo cliccabile l'intera riga di un wicket

Grazie

+0

Non penso che ci sia una soluzione più semplice a questo rispetto all'implementazione della propria proprietà 'PropertyColumn'. Si potrebbe dare un'occhiata a 'newRowItem' nella classe' DataTable' e al metodo sovrascritto 'newRowItem' in' DataGridView'. – rotsch

risposta

19

questo fare il lavoro.

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

} 
+0

Risposta molto utile. Inoltre, sovrascrivere questo metodo mi permette di impostare l'ID di markup di ogni riga, che è molto utile nel mio caso in quanto devo attivare un evento jQuery per evidenziare la riga appena inserita che ha attivato un aggiornamento del DataTable. –

+0

Come fai a sapere quale oggetto è stato cliccato nel metodo onEvent? – DavidVdd

+0

dal modello, internamente wicket ha una traccia della relazione tra le righe e gli oggetti – osdamv