永洪社区

标题: 动态更改,自由表格中单元格度量 [打印本页]

作者: 971125    时间: 2021-5-19 10:57
标题: 动态更改,自由表格中单元格度量
现在有日期列(下拉参数),但是列但是不在本表格中,日期列按月份过滤时间,
我的度量中有三列,分别为5月值。6月值,7月值。在自由表格中我想根据下拉参数中的字段,动态选择本表格中的度量。。

举例:下拉参数选择6,代表6月。此时自由表格中绑定的“5月值”度量更换为,“6月值”

以下有我的做成功一半的代码
var as=0;
as=mid(param["下拉参数1"],6,1)+"月份预测计划"
concat(mid(param["下拉参数1"],6,1),"月")
var dv = execute(this,EXCEL,"制造部数据集/生产进度(汇总表)/KKTV计划表");
dv.exists(1,-1,true);
var arr = new Array();
var arr2 = new Array();
var ZH=0;var ZH1=0;var ZH2=0;var ZH3=0;
for(var j= 0; j < dv.csize(); j++){ //for循环找到要取的列
if(as == dv.get(0,j)){
col =j;
}
         if("产品形式" == dv.get(0,j)){
col2 =j;
}
}
     dv.exists(1,-1,true);
for(var i = 1; i <dv.size(); i ++){ //for循环取得要取的列的值
arr[i-1] = dv.get(i,col)
         arr2[i-1] = dv.get(i,col2)
       if(arr2[i-1] =='CBU'){ZH =arr[i-1]+ZH}
else if(arr2[i-1] =='SKD'){ZH1 =arr[i-1]+ZH1}
else if(arr2[i-1] =='CKD'){ZH2 =arr[i-1]+ZH2}
else if(arr2[i-1] =='KKTV'){ZH3 =arr[i-1]+ZH3}
}

{param['整机计划'] =ZH}
{param['SKD计划'] =ZH1}
{param['CKD计划'] =ZH2}
{param['KKTV计划'] =ZH3}
{param['月'] =as}

现在if(as == dv.get(0,j)){   这地方我更新下拉参数是,值没有改变,应该是这个as读取的值有问题
还有一种想法就是col[]是读取列,尝试col[param['月']],也失败了,好像是不能嵌套。
只是提供想法,如果有更简单的方便,也可以忽略

作者: 永洪tech-zyc    时间: 2021-5-19 11:19
你现在的问题是出在自由表修改度量赋值这里吗,debug输出下as 的值是不是正确的,感觉你这个挺麻烦的
作者: 永洪tech-zyc    时间: 2021-5-19 14:04
971125 发表于 2021-5-19 10:57
现在有日期列(下拉参数),但是列但是不在本表格中,日期列按月份过滤时间,
我的度量中有三列,分别为5月 ...

或者是否可以尝试 把三个列都绑定上,然后根据下拉值 动态的显示或者隐藏相关的列呢?
显示隐藏脚本如下:
2、自由表
    var loc = new Locator(['c-i'],COL,DETAIL);// 第一列 i 取 0,第 二列为 1,依次类推
    自由式表格1.setColWidth(loc,200);


作者: 971125    时间: 2021-5-19 16:17
永洪tech-zyc 发表于 2021-5-19 14:04
或者是否可以尝试 把三个列都绑定上,然后根据下拉值 动态的显示或者隐藏相关的列呢?
显示隐藏脚本如下 ...

这面是execl表格导入数据,数据会更新,一个表只能用三个月,三个月之后列名字就改变了
作者: 永洪tech-zyc    时间: 2021-5-19 16:44
971125 发表于 2021-5-19 16:17
这面是execl表格导入数据,数据会更新,一个表只能用三个月,三个月之后列名字就改变了 ...

你原本的方法卡在了 动态添加列吗




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4