开发者社区> 问答> 正文

宜搭获取子表单当前操作行的所有数据

如何获取宜搭获取子表单当前操作行的所有数据

展开
收起
lanyer.li 2023-04-12 15:53:10 1430 0
来自:钉钉宜搭
4 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    在宜搭中,可以通过以下方式获取子表单当前操作行的所有数据:

    首先,在子表单中创建一个“按钮”控件,用于触发获取当前行数据的操作。
    
    在按钮的“按钮操作”中,选择“执行脚本”操作,并在脚本中输入以下代码:
    

    // 获取当前行数据 var row = $element.parents('tr').data('row');

    // 输出当前行数据 console.log(row);

    这段代码中,$element 表示当前按钮的 jQuery 对象,$element.parents('tr') 表示获取当前按钮所在的行,data('row') 表示获取该行的数据,保存在 row 变量中。

    最后,可以将获取到的数据进行进一步处理,例如将数据显示在弹窗中或者提交到后台进行保存等操作。
    

    需要注意的是,获取当前行数据的操作只能在子表单的“按钮操作”中进行,不能在子表单的“数据操作”中进行,因为“数据操作”中的脚本是在整个子表单数据加载完成后才执行的,无法获取当前操作行的数据。

    2023-04-15 11:18:17
    赞同 展开评论 打赏
  • 月移花影,暗香浮动

    要获取宜搭子表单当前操作行的所有数据,可以通过以下方式来实现:

    1. 首先在子表单控件的事件中新建一个“行事件”,并将它与相应的表单字段绑定,以便在操作时触发事件。

    2. 在“行事件”中,使用以下代码来获取当前操作行的所有数据(假设你的子表单控件的ID为“subform_customer_info”):

    var record = fd.control('subform_customer_info').getRecord(context.recordIndex);
    
    

    其中,context.recordIndex代表当前操作行的索引,record变量存储了当前操作行的所有数据。

    1. 若要获取具体某个字段的值,可以使用以下方式:
    var field_value = record['field_name'];
    
    

    其中,'field_name'需要替换为具体的字段名,field_value代表该字段的值。

    总之,通过以上方式可以获取宜搭子表单当前操作行的所有数据。

    2023-04-12 17:25:08
    赞同 展开评论 打赏
  • 坚持这件事孤独又漫长。

    可以通过以下方式获取子表单当前操作行的所有数据:

    1. 首先获取当前操作行的索引值,可以通过组件提供的 currentRow 属性或者 getCurrentRow 方法获取。

    2. 然后通过子表单对应的数据源获取该行数据。具体可以使用 getData 方法获取整个子表单数据,然后通过索引值获取对应的行数据。

    示例代码如下:

    // 获取子表单当前操作行索引值
    const currentRowIndex = this.$refs.subTable1.currentRow;
    
    // 获取子表单数据
    const subTableData = this.$refs.subTable1.getData();
    
    // 获取当前操作行数据
    const currentRowData = subTableData[currentRowIndex];
    

    需要注意的是,以上代码示例中的 subTable1 需要替换成对应的子表单组件引用名称。另外,如果当前操作行是新增行,则无法通过数据源获取该行数据,可以通过表单组件提供的 getFormData 方法获取当前表单数据,然后从表单数据中获取新增行的数据。

    2023-04-12 16:41:17
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    在宜搭内若需要获取子表单的长度,即统计子表单内明细数量,自动获取子表单内一共有多少条数据。

    (1)使用一个子表单组件,一个数值组件,然后将数值组件的默认值设置为 1,如图:

    (2)点击子表单>>高级>>新建动作,需要创建两个动作,一个是 onAddClick 点击添加;一个是 onDelClick 点击删除,创建动作写入代码,如图:

    以下代码可直接复制使用,注意:第一个括号里面输入数值组件的唯一标识,第二个括号里面输入子表单的唯一标识。可参考(3)的设置

    this.$('数值组件标识').setValue(this.$('子表单标识').getValue().length);

    (3)先创建一个 onAddClick 点击添加,如图:

    然后将上面的代码复制过来,如下:

    (4)新建一个 onDelClick 点击删除,也直接复制上面的代码即可:

    然后将上一段的代码复制下来:

    点击保存后,效果展示如下:

    2023-04-12 16:40:01
    赞同 1 展开评论 打赏
问答分类:
问答地址:
关联地址:
相关产品:
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
相关文档: 宜搭
问答排行榜
最热
最新

相关电子书

更多
宜搭 - 企业智能化应用搭建平台 立即下载
《云市场-宜搭解决方案》 立即下载
《宜搭开发手册》 立即下载