/** * @author xchao * @time 2012-4-26 * @desc * @version * @since */ package com.vci.client.ui.swing.components.table.test; import java.util.Random; import com.vci.client.ui.swing.components.table.AbstractVCIJTableDataProvider; import com.vci.client.ui.swing.components.table.VCIJTableNode; import com.vci.common.utility.ObjectUtility; public class TestDataProvider extends AbstractVCIJTableDataProvider { private String[] specialColumns = null; public String[] getSpecialColumns(){ String columnString = "编码,名称,描述,其它"; for(int i = 0; i < 100; i++){ columnString += ", 属性 " + String.valueOf(i + 1); } specialColumns = columnString.split(","); return specialColumns; } @Override public Class[] getClasses() { this.classes = super.getClasses(); int offset = 6; // boolean this.classes[offset++] = Boolean.class; this.classes[offset++] = Boolean.class; this.classes[offset++] = Boolean.class; return this.classes; } public String[] getColumns() { return super.getColumns(); } public int getTotal() { return this.total; } private Random randmon = new Random(); public VCIJTableNode getNewRowNode(TestPO dataObj) { int column = 0; VCIJTableNode node = new VCIJTableNode(dataObj); String[] specialColumns = getSpecialColumns(); node.setPropertyValue(specialColumns[column++], dataObj.getId()); node.setPropertyValue(specialColumns[column++], dataObj.getName()); node.setPropertyValue(specialColumns[column++], dataObj.getDesc()); node.setPropertyValue(specialColumns[column++], dataObj.getOther()); node.setPropertyValue(specialColumns[column++], Boolean.valueOf(randmon.nextBoolean())); node.setPropertyValue(specialColumns[column++], Boolean.valueOf(randmon.nextBoolean())); node.setPropertyValue(specialColumns[column++], Boolean.valueOf(randmon.nextBoolean())); for(int i = column; i < specialColumns.length; i++){ node.setPropertyValue(specialColumns[column++], ObjectUtility.getNewObjectID36()); } return node; } public TestPO[] getDatas(int pageIndex, int pageSize) { // 从数据库中查询,存储记录总数 this.total = 10000; // 数据转换 TestPO[] res = new TestPO[pageSize]; for (int i = 0; i < res.length; i++) { TestPO po = new TestPO(); int index = (pageIndex - 1) * pageSize + i + 1; String fixedValue = String.valueOf(index); po.setId(index); po.setName(ObjectUtility.getNewObjectID36()); po.setName(fixedValue); po.setDesc(ObjectUtility.getNewObjectID36()); po.setOther(ObjectUtility.getNewObjectID36()); res[i] = po; } try { Thread.sleep(0); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return res; } }