जावा में मैं गतिशील रूप से एक जेटीबल में कॉलम जोड़ने के लिए डिफ़ॉल्टTableModel का उपयोग कर रहा हूं।जावा में टेबलमोडेल से कॉलम को हटा रहा है
//create DefaultTableModel with columns and no rows
DefaultTableModel tableModel = new DefaultTableModel(columnNames, 0);
JTable table = new JTable(tableModel);
कॉलम नाम परिवर्तक कॉलम नामों के साथ एक स्ट्रिंग सरणी है। तो प्रोग्राम चालू होने और चलाने के बाद उपयोगकर्ता को अतिरिक्त कॉलम जोड़ने का विकल्प होता है। मैं इतनी के रूप में
tableModel.addColumn("New column name");
कौन सा गतिशील के रूप में वांछित तालिका में कॉलम जोड़ने पर इस प्रकार से करते हैं। उपयोगकर्ता जोड़े गए कॉलम भी हटा सकता है।
TableColumn tcol = table.getColumnModel().getColumn(0);
table.getColumnModel().removeColumn(tcol);
हैं कि किसी विशिष्ट सूचकांक में स्तंभ निकाल देना चाहिए, मैं भी कोशिश की है: इस के लिए मैं निम्नलिखित कोड का उपयोग
table.removeColumn(sheet.getColumn(assessmentName));
उन दोनों काम करते हैं (नेत्रहीन), लेकिन यहाँ समस्या है । एक जोड़ा कॉलम हटाने के बाद, यदि कोई अन्य कॉलम जोड़ा जाता है और तालिका रीफ्रेश हो जाती है, तो पहले हटाए गए कॉलम फिर से होते हैं। इसलिए जब यह कॉलम को दृष्टि से हटा रहा है, तो पिछले दो कोड स्निपेट्स में से कोई भी वास्तव में मॉडल से इसे हटा देता है। मैं यहां मान रहा हूं कि चूंकि कॉलम मॉडल में जोड़ा गया था, जहां से इसे हटाने की आवश्यकता है? क्या कॉलम को हटाने के लिए मुझे एक विशिष्ट विधि है जिसे मुझे कॉल करने या कुछ तर्क की आवश्यकता है जिसे मुझे लागू करने की आवश्यकता है?
+1, setAutoCreateColumnsFromModel() विधि के लिए। यह एक बहुत ही उपयोगी विधि है। – camickr
धन्यवाद उस पोस्ट का लिंक केवल मुझे आवश्यक जानकारी थी – Mark
बहुत बहुत धन्यवाद। सुविधा के बारे में पता नहीं था। – Mark