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));
添加行:
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)});
}
这是它在负载上的外观
这就是单击状态下的单元格时的外观
我想设置它,以便当它第一次加载时,列存在的默认值为“缺席”
答案 0 :(得分:2)
我想设置它,以便当它第一次加载时,列存在的默认值为“缺席”
组合框仅选择TableModel中的值。
因此,当您添加每一行时,您需要在表模型中添加“Absent”:
//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 );