【cognos客制化】 定制搜索框 step by step

浏览: 2121

分享至上,xiaof为你讲述cognos组件的定制开发

在“【cognos客制化】定制cognos组件”这篇概述性文章之后,有朋友想了解具体过程,我在下文就详细讲讲开发过程:)具体过程难以言尽,希望对大家有所帮助~

定制搜索框 step by step

1. 通过js从text prompt 中获取val_#值,然后将其放在value prompt中显示
2. 与此同时,将val_#值添加到隐藏的text prompt组中,起到缓存的作用
3. 之后将val_#中的值作为filter筛选条件添加到query中去
   Step one and step two, fetch data and insert it to self-made cache
   function addOption(Name) {
        //get the cognos contorl item
        var tName = "_t" + Name;
        var vName = "_v" + Name;
        var fW = (typeof getFormWarpRequest == "function" ? getFormWarpRequest() :  document.forms["formWarpRequest"]); 
        if ( !fW || fW == undefined) { fW = ( formWarpRequest_THIS_ ? formWarpRequest_THIS_ : formWarpRequest_NS_ );} 
        var valueLength = 3;
        var textComponent = eval("fW._textEditBox" + tName);
        var valueComponent = eval("fW._oLstChoices" + vName);
        valueComponent.options.add(new Option(textComponent.value, textComponent.value));
        var valueNum = valueComponent.options.length;
        for (var fi = valueNum; fi < valueLength+1; fi++)
        {
              var subTextComponent = eval("fW._textEditBox" + tName + fi);
              subTextComponent.value = textComponent.value;
        } 
   }
   Step three, add query to filter data
   (upper([REPORT_MANAGER_NOTES_ID]) contains upper(?P_Manager1?)) 
or (upper([REPORT_MANAGER_NOTES_ID]) contains upper(?P_Manager2?)) 
or (upper([REPORT_MANAGER_NOTES_ID]) contains upper(?P_Manager3?))

以上均为原创且经过实践,保留一切权利。

推荐 1
本文由 H_Elsker 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

很赞,这么晚还写文章,,有代码功能,看起来还不错。

要回复文章请先登录注册