最近才学SWT ,使用SWT table 空间进行展示数据库中的数据。但是不知道如何将数据库中记录绑定到SWT table中。请教各位大侠。

解决方案 »

  1.   


    public class ConfigTable extends JTable{
    /**
         * 默认构造
         */
        public ConfigTable(){
            super();
            initTable();
        }
    /**
         * 带参数的构造函数
         * 
         * @param rowData
         *            Object[][] 表格数据
         * @param columnNames
         *            Object[] 列头信息
         */
        public ConfigTable(final Object[][] rowData, final Object[] columnNames){
            super();
            DefaultTableModel model = new DefaultTableModel(rowData, columnNames);
            this.setModel(model);
            initTable();
        }
    /**
         * 不可编辑处理
         */
        private void initTable(){
            // 设置列头不能拖动
            this.getTableHeader().setReorderingAllowed(false);
            // 设置表格行高 = 21
            this.setRowHeight(21);
            this.setAutoCreateRowSorter(true);
            this.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
            this.setRowSelectionAllowed(true);
            this.setSelectionBackground(new Color(111, 208, 255));
            this.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
        }
    }
      

  2.   

    从数据库查询出来的数据组织成一个二维数组rowData
      

  3.   

    没有搞清楚什么意思,你的方法就是说,我将数据查询出来到ResultSet中后,还需要将ResultSet对象中的数据逐个取出来放到一个二维数组中,这样的话还不如直接将ReusultSet中的数据逐个循环到TableItem中。while (rSet.next()) {
    TableItem item = new TableItem(tableViewer.getTable(),SWT.NONE);
    item.setText(new String[]{
    rSet.getRow() + "",
    rSet.getString(1),
    rSet.getString(2),
    rSet.getString(3),
    rSet.getString(4),
    rSet.getString(5),
    rSet.getString(6),
    rSet.getString(7),
    rSet.getString(8),
    rSet.getString(9)});
    }你说呢?