[会议信息管理程序·前期] 表格初始化问题:query数量

问题:使用netbeans项目向导产生的代码默认是用entityManager.createQuery() 将数据库中的记录全部查询出来放入表格中,需要改进为只查询出最新若干条记录。

解决:去掉initComponents()中关于jTable绑定的部分,亦即将表格留空,手动做初始化。在手动初始化过程中使用
query.setFirstResult(0);
query.setMaxResult(10);
来设置查询数量,然后再与表格绑定。

源代码:

 

public   void  initTable(javax.swing.JTable tab, javax.swing.JScrollPane jscp) {
        
//手动初始化表格,为paging作准备
        list.clear();
        query 
= entityManager.createQuery("select c from Cconf c order by c.cid desc");
        query.setFirstResult(
0);
        query.setMaxResults(
10);
        list 
= org.jdesktop.observablecollections.ObservableCollections.observableList(query.getResultList());
        org.jdesktop.swingbinding.JTableBinding jTableBinding 
= org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, list, tab);
        org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding 
= jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${cday}"));
        columnBinding.setColumnName(
"日期");
        columnBinding.setColumnClass(String.
class);
        columnBinding.setEditable(
false);
        columnBinding 
= jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${cname}"));
        columnBinding.setColumnName(
"会议");
        columnBinding.setColumnClass(String.
class);
        columnBinding.setEditable(
false);
        bindingGroup.addBinding(jTableBinding);
        jTableBinding.bind();
        jscp.setViewportView(tab);
    }

 

延伸问题:记录表格的分页问题(pagination)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值