1个回答
展开全部
以前使用 JSF 1.1 时,我知道 DataTableModel 可以定制的,默认它是用一个 index 来计算出当前需要从 mode 中拿哪条记录。 因此,你的 DataTableModel 呢想办法让计算 getRowCount的方法返回 (int) count / 2,这样,每次 get 时你返回一个对象由 {odd, even} 连个记录组成的一对。 setRowIndex 时每次 index * 2 跳一格。
以后就用${item.odd} 和 ${item.even} 来访问,或者每次 getRowData 时返回一个数组也行。这个 DataModel 的实现应该是通用的,如果3列每次 getRowCount 返回 (int) count / 3; seRowIndex() 时 index * 3 每次跳2格,因为每次 getRowData() 时已经拿了index * 3 +1 , + 2, +3 个一共 3个记录。
你的实现类应该是一个装饰的 DataModel,接受一个参数,它就是原始的 DataModel,去拿真实数据还是从原来的 Data Model 中按原来的方法拿 。只是我们在 getRowData 和 setRowIndex 上做手脚。
找个 javax.faces.model.DataModel 的实现类的样例看看。
以后就用${item.odd} 和 ${item.even} 来访问,或者每次 getRowData 时返回一个数组也行。这个 DataModel 的实现应该是通用的,如果3列每次 getRowCount 返回 (int) count / 3; seRowIndex() 时 index * 3 每次跳2格,因为每次 getRowData() 时已经拿了index * 3 +1 , + 2, +3 个一共 3个记录。
你的实现类应该是一个装饰的 DataModel,接受一个参数,它就是原始的 DataModel,去拿真实数据还是从原来的 Data Model 中按原来的方法拿 。只是我们在 getRowData 和 setRowIndex 上做手脚。
找个 javax.faces.model.DataModel 的实现类的样例看看。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询