项目代码总结

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.

你可能感兴趣的:(总结)