2012-05-29 22 views
9

क्या एक विकेट डेटाटेबल क्लिक करने योग्य की पूरी पंक्ति बनाना संभव है? यदि हां, तो कैसे ? मैंने प्रॉपर्टी कॉलम क्लास को विस्तारित करके सेल को क्लिक करने योग्य बनाने के उदाहरण देखे हैं, जो काफी आसान है लेकिन पूरी पंक्ति के लिए एक आसान समाधान नहीं मिल रहा है।एक विकेट की पूरी पंक्ति बनाने योग्य क्लिक करने योग्य

धन्यवाद

+0

मुझे नहीं लगता कि आपके अपने 'PropertyColumn' कार्यान्वयन का उपयोग करने के बजाय इसका एक आसान समाधान है। आप 'डेटाटेबल' कक्षा में 'newRowItem' और' DataGridView' में ओवरराइड विधि 'newRowItem' देख सकते हैं। – rotsch

उत्तर

19

यह काम करता है।

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

बहुत उपयोगी उत्तर। इसके अतिरिक्त, इस विधि को ओवरराइड करने से मुझे प्रत्येक पंक्ति के मार्कअप आईडी को सेट करने की अनुमति मिलती है, जो कि मेरे मामले में बहुत उपयोगी है क्योंकि मुझे नई डालने वाली पंक्ति को हाइलाइट करने के लिए एक jQuery ईवेंट ट्रिगर करना है जो डेटाटेबल के रीफ्रेश को ट्रिगर करता है। –

+0

आप कैसे जानते हैं कि ऑनवेंट विधि में किस ऑब्जेक्ट पर क्लिक किया गया था? मॉडल द्वारा – DavidVdd

+0

, आंतरिक रूप से विकेट के पास पंक्तियों और वस्तुओं के बीच संबंध का एक ट्रैक है – osdamv

संबंधित मुद्दे