子表数据无法正常排序
2020-05-18 15:32:51
602次阅读
2个回答
表单子表数据在新增时会按照排序字段排序,但是保存表单再次预览就没有正常排序,请问有什么解决办法?
第1条附言 2020-05-20 08:48:47
如果没有诸如“DISPORDER”的排序字段,如何实现按照表单上添加数据的顺序排序?
收藏 0

登录 后回答问题。没有帐号? 注册 一个。

    2020-05-19 14:25:26
    最佳答案

    这个问题可以直接在表单->发布配置->子表相关->子表排序中执行设置

    • yyf 2020-05-20 08:48:07
      如果没有诸如“DISPORDER”的排序字段,如何实现按照表单上添加数据的顺序排序?
    • FEPlat 2020-05-20 12:52:33
      把子表主键用数值主键,平台支持自增。现在用的应该是平台推荐的guid。
    • FredDong 2020-05-22 11:46:44
      已经用了guid,作为主键。咱们有对排序问题的解决方案吗? 现状:新增是是按照逻辑做的字标顺序,保存后顺序就改变了。
    • FEPlat 2020-05-22 15:16:13
      如果您说的“字标”在保存前是按顺序排列的,可以通过子表排序设定把这个“字标”字段设为排序字段。 如果在保存前没有按顺序排列的字段,应该只有子表主键用数值这个方法,平台支持自动自增。
    2021-05-31 08:39:17
    最佳答案

    1.子表主键用数值主键,平台支持自增

    2.子表有自增字段,类似DISPORDER(插入行或删除行时js赋值),参考js代码:

    function payadd(){
        debugger;
        var n=$es.form.getCtrlValue('es_pc_contract_device_pay','DISPORDER').length+1;
        $es.form.addTableRow('es_pc_contract_device_pay', [{'DISPORDER':n}]);
    }

    function paydel(that){
        if($es.form.getCtrlValue('es_pc_contract_device_pay','DISPORDER').length==1){
            $es.form.addTableRow('es_pc_contract_device_pay',[{'DISPORDER':1}],true);
        }
        else{
            $es.form.__rtAction(that, "remove");
            debugger
            var ctrls = $es.form.getCtrl('es_pc_contract_device_pay', 'DISPORDER');
            $.each(ctrls, function (i, ctrl) {
                $es.form.setCtrlValue('es_pc_contract_device_pay', 'DISPORDER',i,(i+1));
            });
        }
    }


共2条 1

yyf

  • 0 回答
  • 0 粉丝
  • 0 关注