java - JTable's and DefaultTableModel's row indexes lose their synchronization after I sort JTable -
जावा नेटबेन्स
// resultsTable, myModel JTable resultsTable; डिफ़ॉल्टटाबलमोडेलमॉडेल; //javax.swing.table.DefaultTableModel myModel = (DefaultTableModel) resultsTable.getModel (); तालिका के आइटम पर क्लिक करने की // घटना स्ट्रिंग मान = (स्ट्रिंग) myModel.getValueAt (resultsTable.getSelectedRow (), columnIndex)
मैं विभिन्न सूचनाओं की एक तालिका देखने के लिए JTable और DefaultTableModel का उपयोग करता हूं और मैं तालिका के चयनित इंडेक्स के एक निश्चित स्तंभ के मान प्राप्त करना चाहता हूं।
मैं ऊपर लिखे गए कोड को ठीक से छोड़ देता है जब: मैं जीयूआई के प्रकार का उपयोग करता हूं (फील्ड नाम पर क्लिक करें I मेज पर सॉर्ट करना चाहते हैं) तालिका ठीक से सॉर्ट की जाती है, लेकिन इसके बाद जब मैं एक पंक्ति चुनता हूं, तो वह पंक्ति का मान हो जाता है जो कि सॉर्ट करने से पहले था इसका अर्थ है कि सॉर्टिंग के बाद (जेटेबल जीयूआई का उपयोग करके) 'मैमोल्ड' और 'परिणामटेबल' ऑब्जेक्ट्स की अलग पंक्ति अनुक्रमित हैं।
मैं उन दोनों को कैसे सिंक्रनाइज़ करूँ?
आपको JTable पर 'XXXXX कन्वर्ट' विधियों का उपयोग करने की आवश्यकता है
int row = resultsTable.getSelectedRow (); यदि (पंक्ति! = -1) {row = table.convertRowIndexToModel (पंक्ति); स्ट्रिंग मान = (स्ट्रिंग) myModel.getValueAt (पंक्ति, कॉलम इंडेक्स)
Comments
Post a Comment