• OAF 清空指定控件或区域的值


    CO

    if (pageContext.getParameter("ClearBtn") != null) {
                clearRegion(pageContext, webBean, "SearchPanelRN");
                String[] webBeanStr = new String[]{ "ProjectSetIdSch",  "ProjectIdSch",  "VendorIdSch" };
                clearWebBeanValue(pageContext, webBean, webBeanStr);
    }

    公共类

        public static void clearRegion(OAPageContext pageContext, BaseMutableUINode baseNode) {
            UINodeList nodeList = baseNode.getIndexedNodeList();
            OARenderingContext rc = pageContext.getRenderingContext();
    
            for (int i = 0; i < nodeList.size(rc); i++) {
                UINode node = nodeList.getUINode(rc, i);
                if (node instanceof OAWebBeanDataAttribute) {
                    OAWebBeanDataAttribute nodeToClear = (OAWebBeanDataAttribute)node;
                    nodeToClear.setValue(pageContext, null);
                }
    
                clearRegion(pageContext, (BaseMutableUINode)node);
            }
        }
    
        /**
         * 将一个Region下的所有的子节点清空,通常用于清空查询条件。
         */
        public static void clearRegion(OAPageContext pageContext, OAWebBean webBean, String regionId) {
            String pageLayoutId = pageContext.getPageLayoutBean().getID();
    
            if (pageLayoutId.equals(regionId)) {
                BaseMutableUINode baseNode = (BaseMutableUINode)webBean;
                clearRegion(pageContext, baseNode);
            } else {
                BaseMutableUINode baseNode = (BaseMutableUINode)webBean.findChildRecursive(regionId);
                clearRegion(pageContext, baseNode);
            }
        }
        
        /**
         * 清空指定组件的值
         * @param pageContext
         * @param webBean
         * @param strWebBeanNames   需要被清空的组件ID
         */
        public static void clearWebBeanValue(OAPageContext pageContext, OAWebBean webBean, 
                                      String[] strWebBeanNames){
             {
               if (strWebBeanNames != null)
               {
                
                 OAWebBean itemWebBean = null;
                 //Search for Bean  
                 if (strWebBeanNames != null)
                 {
                   for (int i = 0; i < strWebBeanNames.length; i++)
                   {
                    //用这个替换大量的类型匹配instance
                     itemWebBean = webBean.findChildRecursive(strWebBeanNames[i]);
                       if (itemWebBean instanceof OAWebBeanDataAttribute) {
                           OAWebBeanDataAttribute nodeToClear = (OAWebBeanDataAttribute)itemWebBean;
                           nodeToClear.setValue(pageContext, null);
                       }
    
                   }
                 }
               }
             }                             
         }
  • 相关阅读:
    c.vim
    Ubuntu18.04重装指南
    [TJOI2017]城市 【树的直径+暴力+优化】
    [Bzoj3696]化合物【暴力+树形Dp】
    [JLOI2015]战争调度【暴力+树形Dp】
    [Bzoj3743][Coci2015] Kamp【换根Dp】
    [POI2017]Sabota【观察+树形Dp】
    [CQOI2009]叶子的染色【性质+树形Dp】
    COCI2014/2015 Contest#1 D MAFIJA【基环树最大独立点集】
    [牛客网] 推箱子【离散,线段树区间覆盖】
  • 原文地址:https://www.cnblogs.com/huanghongbo/p/7542385.html
Copyright © 2020-2023  润新知