本帖最后由 luoqu 于 2022-5-26 18:34 编辑
有一个需求,设置一个列表参数,内容显示为:“零件基础信息”,“预测值信息”,“过往需求量”;当选择“零件基础信息”项时,表格显示其中某几列,其余隐藏,以此类推,要求可以多选;
现在已在脚本上写了一段,单选都能实现,但同时选择“零件基础信息”和“预测值信息”时,只能显示属于“零件基础信息”的那几列,属于“预测值信息”的无法显示。
请问这段脚本应该如何改呢?脚本如下:
//动态显示列
var tiaojian=列表参数1.getSelectedObjects()[0;
var colData = {
"零件基础信息" : [
'配件类型', '配件创建时间', '工厂', '仓库', '是否市场活动件', '是否有替互换件'
,
"预测值信息": [
'N+0月预测', 'N+1月预测', 'N+2月预测', 'N+3月预测', 'N+1月采购预测', 'N+2月采购预测', 'N+3月采购预测'
,
"过往需求量": [
'近3个月月均需求量', 'N-1月需求量', 'N-2月需求量', 'N-3月需求量', 'N-4月需求量', 'N-5月需求量', 'N-6月需求量', 'N-7月需求量',
'N-8月需求量', 'N-9月需求量', 'N-10月需求量', 'N-11月需求量', 'N-12月需求量', 'N-13月需求量',, 'N-14月需求量', 'N-15月需求量',
'N-16月需求量', 'N-17月需求量', 'N-18月需求量', 'N-19月需求量', 'N-20月需求量', 'N-21月需求量', 'N-22月需求量', 'N-23月需求量', 'N-24月需求量'
, 'N-25月需求量', 'N-26月需求量', 'N-27月需求量', 'N-28月需求量', 'N-29月需求量', 'N-30月需求量', 'N-31月需求量', 'N-32月需求量', 'N-33月需求量', 'N-34月需求量'
, 'N-35月需求量', 'N-36月需求量'
}
var hideArr = [];
var showArr = [];
for(var a in colData){
if(a == tiaojian){
var c = colData[a;
for(var i = 0; i < c.length; i++ ){
showArr.push(c[i)
}
}else{
var c = colData[a;
for(var i = 0; i < c.length; i++ ){
hideArr.push(c[i)
}
}
}
for(var i = 0; i < showArr.length; i++){
// 显示
表2.setColWidth(new Locator([showArr[i, 3, 2),120);
表1.setColWidth(new Locator([showArr[i, 3, 2),120);
}
for(var i = 0; i < hideArr.length; i++){
// 隐藏
表2.setColWidth(new Locator([hideArr[i, 3, 2),0);
表1.setColWidth(new Locator([hideArr[i, 3, 2),0);
}
|