Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Jtable中显示选定的数据库列?_Java_Sql_Jtable - Fatal编程技术网

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中隐藏列的工作方式