Java 如何在Jtable中显示选定的数据库列?
我成功地用数据库表的内容填充了我的Java 如何在Jtable中显示选定的数据库列?,java,sql,jtable,Java,Sql,Jtable,我成功地用数据库表的内容填充了我的JTable,但我只想显示它的选定列。有没有办法做到这一点?或者甚至可以选择在JTable中显示哪一列 下面是填充我的JTable private void Update_table() { try { String sql = "select * from Members"; ps = conn.prepareStatement(sql); rs = ps.exec
JTable
,但我只想显示它的选定列。有没有办法做到这一点?或者甚至可以选择在JTable
中显示哪一列
下面是填充我的JTable
private void Update_table() {
try {
String sql = "select * from Members";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
Members_Table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
我的数据库表名是“Members”。“Members\u Table”是我的
JTable
的名称。您可以尝试更改sql语句,只选择感兴趣的列。例如,如果成员具有“MemberId”、“MemberFirstName”、“MemberLastName”、“MemberAddressFK”列,并且您只想显示MemberFirstName和MemberLastName,则可以将sql更改为
String sql = "select MemberFirstName, MemberLastName from Members";
您可以在中找到有关sql select语句的更多详细信息。如果您想在Java端寻找更健壮的数据模型,并希望隐藏JTable中的列,可以使用from JTable。这不会从表模型中删除列,只会从可见的表示中删除列。如果跟踪哪些列是隐藏的或可见的,则可以轻松地将该列放回,其数据仍将正确关联 例如,要删除第一列,可以使用:
myTable.removeColumn(myTable.getColumnModel().get(0));
// i don't remember if it's 0-index or 1-index for first column
例如,我会动态地在JPanel中为每一列填充复选框,然后选中和取消选中各个复选框将隐藏和禁用这些列。这允许您保留所有数据,但仅显示与用户当时相关的数据,类似于Excel中隐藏列的工作方式