如何设置 jtable 中的 jcombobox 的默认选定值?
How can i set the default selected value of a jcombobox which is inside a jtable?
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)});
}
这是加载时的样子
这是单击存在状态下的单元格时的样子
我想对其进行设置,以便在第一次加载时列存在的默认值为不存在
i want to set it so that when its loaded for the first time the column presence has a default value of absent
组合框只会select TableModel 中的值。
所以你需要在添加每一行时将"Absent"添加到table模型中:
//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 );
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)});
}
这是加载时的样子
这是单击存在状态下的单元格时的样子
我想对其进行设置,以便在第一次加载时列存在的默认值为不存在
i want to set it so that when its loaded for the first time the column presence has a default value of absent
组合框只会select TableModel 中的值。
所以你需要在添加每一行时将"Absent"添加到table模型中:
//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 );