亿信ABI
当前版本:BI4.7

单位级次下拉默认选择第一个节点

1. 需求说明

● 需求概述:单位级次下拉框,默认选择下拉内容中的第一个节点。

 

● 场景概述:维下拉框设置参数类型为单位级次下拉框,不同用户查看的下拉内容不一样,设置下拉内容中的第一个节点为用户首次计算的参数默认值。

 

● 背景说明:通常情况下,我们会将登录用户的某个属性设置为单位级次下拉框的下拉内容,然后通过宏表达式的方式,设置该下拉框参数的默认值。例如<#=login.userid#>,但由于客户数据特殊,不便于通过该方式实现,故产生了设置第一个节点为默认值的需求。

 

2. 实现方案

 编辑客户端脚本:

setTimeout(function() {

 var param = g_rptpage.calcParam.getParamByName("@gddw");

 if (!param.value) {

  _f1(param);

 }

}, 300);

function _f1(param) {

 if (!param) {

  return;

 }

 param._initDropDownDom = function() {

  this.hasInitDropDownDom = true;

  // 设置过滤框事件

  $(this.filter.getEdit()).bind("keydown", function(e) {

   if (e.keyCode == 13) {

    this._inputFilterEvent();

    return false;

   }

  }.bind(this));

  // 设置按钮事件

  $(this.filter.getButton()).bind("click", function(e) {

   this._inputFilterEvent();

  }.bind(this));

  // 设置多选框事件

  $(this.allcheck).bind("click", this._checkAllEvent.bind(this));

  // 设置url

  this.tree.setQueryUrl(this.url);

  // 设置展开事件

  this.tree.getXTree().getXmlLoader().afterexpand = function() {

   // 自动调整宽度

   this.select.__adjustDropdownListBounds(true);

  }.bind(this);

  // 是否多选

  if (this.getIsmult()) {

   this.resultMap = new OrderMap();

   this.tree.getXTree().setOnCheck(this._treeOnCheck.bind(this));

   this.tree.onItem = function(item) {

    if (this.itemclickfilter

      && !this.evalItemClickEventFilter(item)) {

     item.showCheckBox(false);

    }

   }.bind(this);

  } else {

   this.tree.getXTree().setOnClick(this._treeOnClick.bind(this));

  }

  // 显示方式

  this.tree.setDisplayFunc(function(r) {

   return this._getDisplay(r.name, r.caption ? r.caption : r.name);

  }.bind(this));

  // 节点选择

  if (!this.itemclickfilter) {

   this.tree.getXTree().enableAutoCheckSubItems(this.getIsmult());

   this.tree.getXTree().enableAutoCheckGrayParent(this.getIsmult());

  }

  // 参数类型

  if (this.paramtype == "dim") {

   this._buildDim();

  } else if (this.paramtype == "bbh") {

   this._buildBbh();

  } else if (this.paramtype == "bbq") {

   this._buildBbq();

  }

  // 加载

  this.refreshItem(function() {

   var item = this.tree.getXTree().getRootItem().getChildItem(0);

   this.tree.getXTree().selectItem(item, true);

  }.bind(this));

 };

 param.select._initDropDownDom = function(fdiv) {

 };

 param.__initDropdownDom();

}

 

脚本使用说明:



该功能适用于单位级次下拉框,在门户里或者直接在浏览器里访问报表链接来用,如使用链接访问的方式的话加showparams=true参数,也就是以简洁模式进入。

另外,由于该脚本在结果表中才执行,故需计算一次之后才有效果,所以建议在使用时链接加自动计算参数calcnow=true。

例如:http://127.0.0.1:8000/bi42/showreport.do?resid=EBI$12$S9CU3OQLJW1FYZ49END2IBXI6S9TUZT8$1$4TU2IVP26IYCCUJT8KU6RLYUJ4TLJ8C2.rpttpl&showparams=true&id=1&pw=1&calcnow=true

 

 

附件列表

0

文档内容仅供参考
如果您需要解决具体问题,还可以登录亿信社区
在提问求助板块提问,30分钟内帮您解决问题

如果您认为本词条还有待完善,请编辑

上一篇多彩门户如何配置导航树默认隐藏

下一篇JS实现选中Tab标签后 切换图标

请先登录