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("width: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.