我使用数据库表的内容成功填充了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_Table”是我JTable
的名称。
答案 0 :(得分:1)
您可以尝试更改sql语句,只选择您感兴趣的列。例如,如果成员有列" MemberId"," MemberFirstName"," MemberLastName" " MemberAddressFK",你只想显示MemberFirstName和MemberLastName,你可以改变你的sql
String sql = "select MemberFirstName, MemberLastName from Members";
您可以在http://beginner-sql-tutorial.com/sql-select-statement.htm
找到有关sql select语句的更多详细信息答案 1 :(得分:0)
如果您在Java端寻找更强大的数据模型并希望隐藏JTable中的列,则可以使用JTable中的removeColumn。此不会从Table模型中删除列,只能从可见的表示中删除。如果您跟踪哪些列隐藏或可见,您可以轻松地将列重新放入,并且其数据仍将正确关联。
例如,要删除第一列,您可以使用:
myTable.removeColumn(myTable.getColumnModel().get(0));
// i don't remember if it's 0-index or 1-index for first column
作为一个例子,我会为每个列动态填充带有复选框的JPanel,然后选中并取消选中单个框将隐藏和禁用这些列。这允许您保留所有数据,但仅显示当时与用户相关的数据,类似于隐藏Excel中的列的工作方式。