如何根据参数面板的下拉框筛选出来的字段进行插入行?

image.png如图想根据筛选的内容然后添加到下面的行,求大佬帮忙!

已添加 js  如下 

FineReport 孔龙 发布于 2022-12-22 15:47 (编辑于 2022-12-22 15:55)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
孔龙Lv3见习互助
发布于2023-2-10 14:10

参数面板的 查询按钮增加 点击后事件

     

var td = _g().parameterEl.getWidgetByName('TD');

var tds = td.getValue(); 

//获取多选控件值

var p = [];

//_obj是表格tr对象

var _obj = $(".x-table tr");

//_length是tr行数

for(var i = 0; i < _obj.length; i++) {

    //遍历tr中的对象td

    var _td = _obj.eq(i).find("td[id^='E']");

    for(var j = 0; j < _td.length; j++) {

        //_val是每个单元格值

        var _val = _td.eq(j).text();

        //去除空格

        var _tval = $.trim(_val);

        p.push(_tval);

    }

};

for(var k=0;k<p.length;k++){

for(var l=0;l<tds.length;l++){

if(p[k]==tds[l]){

tds.splice(l,1);

l=l-1;

}

}

};

//获取E列最后一行的单元格编号

var id = $("td[id^=B]:last").attr("id");

var row = parseInt($("td[id^=E]:last").attr("row"));

var co = parseInt($("td[id^=E]:last").attr("col"));

var cytdjc = _g().getCellValue(0,4,row)

//alert(cytdjc);

if(cytdjc.length==0){

//获取E列最后一行的单元格行号

//在末尾插入行

setTimeout(function() {

_g().appendReportRC(tds.length-1, id);

//},250)

setTimeout((function() {

   for (var m = 0; m < tds.length; m++) {

    //根据产品ID,获取其他字段值

    var mrcysx = FR.remoteEvaluate("value('默认',5,4,'"+ tds[m]+"')");

    var cysx = FR.remoteEvaluate("value('默认',6,4,'"+ tds[m]+"')");

    _g().setCellValue(0, 4, row + m , tds[m]);

    _g().setCellValue(0, 5, row + m , mrcysx);

    _g().setCellValue(0, 6, row + m , cysx);

    //给对应单元格赋值

   }

  }

), 100);

},100);

}

else {

setTimeout(function() {

_g().appendReportRC(tds.length, id);

//},250)

setTimeout((function() {

   for (var m = 0; m < tds.length; m++) {

    //根据产品ID,获取其他字段值

   var mrcysx = FR.remoteEvaluate("value('默认',5,4,'"+ tds[m]+"')");

   var cysx = FR.remoteEvaluate("value('默认',6,4,'"+ tds[m]+"')");

    _g().setCellValue(0, 4, row + m +1, tds[m]);

    _g().setCellValue(0, 5, row + m +1, mrcysx);

    _g().setCellValue(0, 6, row + m +1, cysx);

    //给对应单元格赋值

   }

  }

), 100);

},100);

}

//由于插入行是异步请求,所以需要利用闭包来确保执行顺序

td.reset(); //清空下拉框

最佳回答
0
free_zzLv6中级互助
发布于2022-12-22 15:55(编辑于 2022-12-22 15:56)
最佳回答
0
小歆嵩Lv7初级互助
发布于2022-12-22 15:56

筛选出来的值,填报起来吗?

$a是你下拉框的参数

image.png

  • 孔龙 孔龙(提问者) 下拉的不是我的参数 ,是我另外选择的
    2022-12-22 15:58 
  • 2关注人数
  • 360浏览人数
  • 最后回答于:2023-2-10 14:10
    请选择关闭问题的原因
    确定 取消
    返回顶部