2016-09-28 86 views
0
model = new DefaultComboBoxModel<>(); 
    model.addElement("Absent"); 
    model.addElement("Present"); 
    model.addElement("On Leave"); 
    model.setSelectedItem("Absent"); 

    JComboBox cbox = new JComboBox(model); 
    DefaultTableModel attModel = (DefaultTableModel)tableEmpAtt.getModel(); 
    TableColumn col = tableEmpAtt.getColumnModel().getColumn(3); 
    col.setCellEditor(new DefaultCellEditor(cbox)); 

添加行:我怎样才能设置一个jtablebox默认选择的值在jtable里面?

ResultSet rs = st.executeQuery("select Employee_ID,First_Name,Last_Name,Contact_No from Employee_Information"); 
     while(rs.next()){ 
      attModel.addRow(new Object[]{rs.getInt(1),rs.getString(2)+" "+rs.getString(3),rs.getString(4)}); 
     } 

这是它的外观上的负载 this is how it looks on load

这是它的外观时,下存在一个细胞被点击一次 this is how it looks when a cell under presence is clicked once

我想对其进行设置,以便第一次加载列存在时缺省值为缺席

回答

2

我想设置这样,当其加载首次列存在有没有

组合框的默认值将只选择在TableModel的价值。

所以,你需要当你添加的每一行加上“缺席”表型号:

//attModel.addRow(new Object[]{rs.getInt(1),rs.getString(2)+" "+rs.getString(3),rs.getString(4)}); 

Vector<Object> row = new Vector<Object>(); 
row.addElement(rs.getInt(1)); 
row.addElement(rs.getString(2) + " " + rs.getString(3)); 
row.addElement(rs.getString(4)); 
row.addElement("Absent"); 
attModel.addRow(row); 
+0

OMG,这是那么容易,我是尝试各种疯狂的事情,非常感谢你的帮助感激很多:DDDD –

+0

@ RahulD'Mello,很高兴它帮助。不要忘了点击勾号“接受”答案,以便人们知道问题已经解决。 – camickr

+0

o不知道,再次感谢! –

相关问题