2012-06-16 13 views
5

पर एक क्लिक पर मुझे एकल चयन करने और विवरण पैनल में कुछ जानकारी दिखाने के लिए सिंगल चयन चयन के साथ एक सेलटेबल काम मिला है। इसके अलावा मुझे इस सेलटेबल में चेकबॉक्स बॉक्स कॉलम मिला है जो बड़े पैमाने पर हटाने के संचालन के लिए एक और एकाधिक चयन मॉडल के साथ काम करता है।जीडब्ल्यूटी सेलटेबल चयन और चेकबॉक्स बॉक्स

जब मैं चेकबॉक्स बॉक्स कॉलम में चेक बॉक्स पर क्लिक करने का प्रयास करता हूं तो GWT पंक्ति का चयन करता है और चेकबॉक्स पर दूसरे क्लिक के बाद यह चेकबॉक्स स्थिति बदल देता है। इसलिए हमें दो क्लिक करना चाहिए, लेकिन मुझे इसे एक क्लिक से करना है (चेकबॉक्स स्थिति बदलें)।

मैं इसे ठीक करने के लिए अलग अलग तरीकों की कोशिश की:

    CheckboxCell में
  • dependsOnSelection और handlesSelection बदलें मापदंडों
  • CellTable में
  • SelectionEventManager बदलें (DefaultSelectionEventManager.createCheckboxManager(), DefaultSelectionEventManager.createCustomManager)

लेकिन यह काम नहीं करता है।

मुझे इंटरनेट में समान समस्याएं मिलीं लेकिन उनमें से सभी एक एकाधिक चयन मॉडल के साथ काम करते हैं। यह वही नहीं है जो मैं चाहता हूं, क्योंकि विवरण पैनल है (इसलिए मैं केवल एक ही चयन कर सकता हूं)।

क्या कोई मुझे यह हल करने में मदद कर सकता है कि इसे कैसे हल किया जाए?

युपीडी: मैं सिर्फ SingleSelectionModel हटा दिया और MultipleSelectionModel साथ काम करने के यूआई फिर से बनाया है। यह GWT-नरक है ..

उत्तर

3

कोशिश अपने चयन के मॉडलों को बदल: CellTable के चयन मॉडल के रूप में MultiSelectionModel उपयोग करते हैं, तो यह है कि चेक बॉक्स अपेक्षित तरीके से (दोनों dependsOnSelection और handlesSelection सेट true के साथ), और गुरु के लिए सुविधा -detail, (गतिशील स्टाइल अद्यतन करने के लिए RowStylesgetRowElement जब CellTable पंक्तियों प्रस्तुत हुई है, तो) एक CellPreviewEvent.Handler (या DefaultSelectionEventManager#createCustomManager), और RowStyles और getRowElement + addStyleName/removeStyleName प्रतिपादन के लिए उपयोग करें।

+0

वास्तव में मैंने पहले से ही इस तरह से प्रयास किया है, लेकिन इससे मुझे आवश्यक व्यवहार नहीं मिला। लेकिन उत्तर के लिए धन्यवाद, मैं इसे सोमवार को फिर से कोशिश करूंगा। –

+0

मैंने केवल मल्टीसेलेक्शन मॉडल के साथ काम करने के लिए यूआई को फिर से डिजाइन किया। –

+2

धन्यवाद, यह CellPreviewEvent का उपयोग करके मेरे लिए वास्तव में अच्छा काम करता है और ईवेंट प्रकार का परीक्षण करता है: 'if (event.getColumn() == 1 && event.getNativeEvent()। GetType()। बराबर ("क्लिक करें")) {} ' –

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