1.复杂控件的使用
// 设置当前实验项目列表 private void _setItemDataGrid(BSObject m_bs, ArrayList<ItemPojo> list) { VBSDataGrid ItemDataGrid = (VBSDataGrid) m_bs.getTagMap().get( "ItemDataGrid"); if (ItemDataGrid == null) { ItemDataGrid = new VBSDataGrid(); // 初始化控件信息 ItemDataGrid.setName("ItemDataGrid"); // ID Key VBSDataGridCol newcol = ItemDataGrid.addCol(); newcol.setTitleString("ID"); newcol.setIsKey(true); // 实验项目名称 newcol = ItemDataGrid.addCol(); newcol.setTitleString("实验项目名称"); newcol.setStyle("100%;"); newcol.setColControlType(Const.BS_CRL_LINK);// 点击实验项目名称就可以进行编辑 newcol.setColType(Const.BS_CRL_COL_DATAOPERATE);// 数据操作列 newcol.setCellFun("editItem()"); newcol.setMaxStrLen(0);// 无限大 // 实验项目状态 newcol = ItemDataGrid.addCol(); newcol.setTitleString("实验项目状态"); newcol.setMaxStrLen(0); // 实验项目类别 newcol = ItemDataGrid.addCol(); newcol.setTitleString("实验项目类别"); newcol.setMaxStrLen(0); // 实验项目描述 newcol = ItemDataGrid.addCol(); newcol.setTitleString("实验项目描述"); newcol.setMaxStrLen(0); newcol = ItemDataGrid.addCol(); newcol.setTitleString("删除"); newcol.setColControlType(Const.BS_CRL_LINK); newcol.setColType(Const.BS_CRL_COL_ADDDATAOPERATE);// 附加操作列 newcol.setCellFun("delItem()"); newcol.setMaxStrLen(0); } // 设置内容 ItemDataGrid.clearColCell(); ItemDataGrid.setFirstAddIndex(0);// TODO:这里的几个方法没理解 ItemDataGrid.setSelectKey(""); ItemDataGrid.setSelectRow(""); ItemPojo onePojo = null; if (list != null) { for (int i = 0, size = list.size(); i < size; i++) { onePojo = (ItemPojo) list.get(i); ItemDataGrid.addColCell(0, onePojo.getItemId()); ItemDataGrid.addColCell(1, onePojo.getItemName()); ItemDataGrid.addColCell(2, ItemPojo.ITEMSTATES[onePojo.getItemState()]); ItemDataGrid.addColCell(3, onePojo.getItemType()); ItemDataGrid.addColCell(4, onePojo.getItemDesc()); } } m_bs.setTagValue(ItemDataGrid); }
使用大的复杂控件时,首先从m_bs中取得相应的控件(注意要进行一次转型),因为是大的控件,所以不能每次都来设置它,如果是该控件不存在,那么就new一个(必须的,不然就会报空指针),然后进行初始化,否则就不用进行任何操作,只是附加新的数据就可以了
又例如:下拉框
// 下拉框 VBSSelect t_itemstate = (VBSSelect) m_bs.getTagMap().get("t_itemstate"); if (t_itemstate == null) { t_itemstate = new VBSSelect("t_itemstate"); for (int i = 0; i < ItemPojo.ITEMSTATES.length; i++) { t_itemstate.setOption(String.valueOf(i), ItemPojo.ITEMSTATES[i], 0); } m_bs.setTagValue(t_itemstate); } VBSSelect t_itemtype = (VBSSelect) m_bs.getTagMap().get("t_itemtype"); if (t_itemtype == null) { t_itemtype = new VBSSelect("t_itemtype"); for (int i = 0; i < ItemPojo.ITEMTYPES.length; i++) { t_itemtype.setOption(String.valueOf(i), ItemPojo.ITEMTYPES[i], 0); } m_bs.setTagValue(t_itemtype); }
2.