各位前辈,我想请教一个关于JTABLE的问题,由于jtable的构造方法是
JTable(Object[][] rowData, Object[] columnNames)
然后我在网上查了很多关于jtable的帖子发现都是把列名和行显示的数据写死的。这样只能学习一个用法。但实际中却不如此。
现在我想把从数据库中查询出来的值放在jtable里面,由于是从数据库中查询出来的,那么到底有多少就不一定了,比如只有3列,列名分别是:“姓名,性别,年龄”。然后所对应的每一行的数据从数据库中取(当然从数据库中取出来的数据我都放在了一个List集合里),但是具体有多少就不一定了,那该怎么去做呢?我的意思是构造方法中的 Object[][] rowData 这个该怎么去设置? 是写个for循环取吗?希望各位能给我一个详细的答案,本人是个新手,说得不对的地方请不要骂我,先谢谢了!

解决方案 »

  1.   

    我想显示第五行到第十行的数据.该如何写sql语句.我要把这个sql语句放到c#.net中.谢谢..借你的贴发点儿东西.嘿嘿.我那没有分了..
      

  2.   

    使用DefaultTableModel(data[][],head)模式,然后把数据库查询出来的数据重新赋值data[][]和head的值即可(dtm.setDataVector(data,head))。
    给你个例子:
    private JTable getGgood_table() {
    int j=0,k=0;
    if (Ggood_table == null) {
    rows=0;
    String data[][]=new String[rows][cols];
    DefaultTableModel dtm=new DefaultTableModel(data,head);
    //设置表格不可编辑
    Ggood_table=new JTable(dtm){
    public boolean isCellEditable(int col,int row){
    return false;

    }
    };
                            //表格的列大于表格显示的范围时,出现滚动条
    Ggood_table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                            //设置表格列宽
    Ggood_table.getColumn("模具编码").setPreferredWidth(110);
    Ggood_table.getColumn("规格").setPreferredWidth(150);
                            //设置表头列不可移动
    Ggood_table.getTableHeader().setReorderingAllowed(false);
    }
    return Ggood_table;
    }