2012-05-29 26 views
9

Có thể làm cho toàn bộ hàng của một Bảng dữ liệu Wicket có thể nhấp được không? nếu vậy, làm thế nào? Tôi đã xem các ví dụ về cách tạo một ô có thể nhấp bằng cách mở rộng lớp PropertyColumn, điều này khá dễ dàng nhưng không thể tìm thấy giải pháp dễ dàng cho toàn bộ hàng.làm cho toàn bộ hàng của một biểu đồ wicket có thể nhấp được

Cảm ơn

+0

Tôi không nghĩ rằng giải pháp này dễ dàng hơn so với việc triển khai 'PropertyColumn' của riêng bạn. Bạn có thể xem 'newRowItem' trong lớp 'DataTable' và phương thức được ghi đè' newRowItem' trong 'DataGridView'. – rotsch

Trả lời

19

làm việc này.

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

Câu trả lời rất hữu ích. Ngoài ra, việc ghi đè phương thức này cho phép tôi đặt id đánh dấu của mỗi hàng, điều này rất hữu ích trong trường hợp của tôi vì tôi phải kích hoạt một sự kiện jQuery để đánh dấu hàng mới được chèn vào đã kích hoạt làm mới DataTable. –

+0

Làm thế nào để bạn biết đối tượng nào đã được nhấp vào trong phương thức onEvent? – DavidVdd

+0

bởi mô hình, nội bộ wicket có một ca khúc của mối quan hệ giữa các hàng và các đối tượng – osdamv

Các vấn đề liên quan