-
弥生 数据达人Lv4
发表于2019-12-18 11:56
悬赏500
已解决
楼主
需求:两个参数,一个是公司参数,一个是公司下面对应的项目参数。当默认选择一个公司时,第2个参数会自动选择该公司下面第一个项目的值。
11个回答
弥生 发表于 2019-12-18 13:50
这个我知道,但是就是第二个参数的默认值怎么设置才能实现上述的功能。 ...
额。。 第一个参数设置默认值,第二个参数就直接读到了呀。。 就第一个设置北京市的默认值,第二个参数直接显示的就是北京市下面的
一笑伊人 发表于 2019-12-18 14:07
额。。 第一个参数设置默认值,第二个参数就直接读到了呀。。 就第一个设置北京市的默认值,第二个参数直 ...
第二个参数不会默认选择下拉框的第一个值,它只会在下拉框里面读取到,并不会自己取第一个值。
弥生 发表于 2019-12-18 14:16
第二个参数不会默认选择下拉框的第一个值,它只会在下拉框里面读取到,并不会自己取第一个值。 ...
哦哦哦 懂你意思了,默认选第一个值 这个要用脚本才能实现
- 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。
看能不能用,或者改一改,不行的话就要走评估嘞