如何根据行和列填充jTable单元格

时间:2018-07-02 10:43:54

标签: java arrays sqlite jtable

我正在编写一个Java应用程序,以表示团队的计划/时间表, 我的数据库中包含3个表:user,post,work

用户


id_user
名称

发布


id_post
post_name

工作


id_operator(FK和主键)
id_post(FK和主键)
日期(主键)

问题是我必须在jTable中显示此代码,我执行了此代码来填充表格,但是它不能那样工作,因为我有10行,但我只希望其中的一行与另一行保持一致。

public void fillRows() throws SQLException{
        DefaultTableModel model = new DefaultTableModel();
        con = DriverManager.getConnection("jdbc:sqlite:/Users/gate11/Desktop/MyPlanning/MyPlanning/src/myplanning/MaBase.db", "", "");
        String sql = "select distinct o.nom_operateur, o.prenom_operateur, t.num_semaine, m.nom_msn from travailler t, msn m, operateur o where t.id_operateur = o.id_operateur and t.id_msn = m.id_msn group by m.id_msn, t.num_semaine, o.id_operateur";
        pst = con.prepareStatement(sql);
        rs = pst.executeQuery();
        model.addColumn("Semaine");
        model.addColumn("MSN");
        while (rs.next()){
            int numSemaine = rs.getInt("num_semaine");
            String nom = rs.getString("nom_msn");
            String nomOp = rs.getString("nom_operateur");
            String prenom = rs.getString("prenom_operateur");
            Operator ope = new Operator(nomOp,prenom);
            model.addColumn(ope.toString());
            //Operator ope = new Operator(nomOp,prenom);
            model.addRow(new Object[] {numSemaine,nom} );
            //model.addColumn(ope.toString());
        }
        jTableHistorique.setModel(model);
    }

我想要一张这样的桌子

week/operator | Operator 1 | Operator 2 | Operator 3
week 1          post 1         post 2       post 3
week 2
week 3

0 个答案:

没有答案