返回列表 发布新帖

如何动态配置栏位只读/可编辑?

287 1
发表于 2025-3-17 17:37:00 | 查看全部 阅读模式
问答

紧急程度

已完结

如下图,想实现抛转状态=1已抛收款单 or (抛转状态=2未抛收款单 and 数据源=1银企直联)时,画面上所有栏位都不可编辑,也不可删除;抛转状态=2未抛收款单 and 数据源=0手工导入时,画面上栏位允许编辑,也允许删除,应如何配置实现?

                               
登录/注册后可看大图

最佳答案

查看完整内容

首先选中表格、找到表格hooks 使用gridReadyHook事件(表格已经初始化完成) 然后使用下列代码参考,里面实际的业务判断和业务字段、表格字段需要修改为自己实际的 // 获取表格所有数据 const tableData = component.getAllRowData(); // 获取表格所有行数据 // 遍历每一行数据 tableData.forEach((row, index) => {    //获取表格中指定的判断字段 以下两个字段需要自行修改为应用自己数据源里面的     ...

评论1

翁俊Lv.7 发表于 2025-3-18 15:34:18 | 查看全部

首先选中表格、找到表格hooks
使用gridReadyHook事件(表格已经初始化完成)


2.jpg
然后使用下列代码参考,里面实际的业务判断和业务字段、表格字段需要修改为自己实际的


// 获取表格所有数据
const tableData = component.getAllRowData(); // 获取表格所有行数据
// 遍历每一行数据
tableData.forEach((row, index) => {
   //获取表格中指定的判断字段 以下两个字段需要自行修改为应用自己数据源里面的
   //exampltest为数据源根级的字段,owner_emp_name为具体业务字段:例如抛转状态字段
  const newcomponent = component.getControlByPath(`exampltest.${index}.owner_emp_name`);//从表格实例上面抓取每行需要判断的业务字段,例如示例的员工姓名
   const allConpen = Object.keys(row.value);  //获取表格每行所有单元格组件字段名称
   // 例如拿到表格员工姓名字段,判断该字段值等于xxx,满足条件执行下列逻辑
   if (newcomponent.value === 'xxx') {
      // 获取表格每行中指定字段的值判断
      component.setRowCanBeSelected(row, false); //禁用行选择   
      allConpen.forEach((item) => {
         const allcomponent = component.getControlByPath(`exampltest.${index}.${item}`);//循环获取当前满足条件的行的所有组件
         allcomponent.setDisableState(true); //设置满足条件的单元格禁用状态
      })
   } else {
      //不满足上述条件的恢复编辑和选择
      component.setRowCanBeSelected(row, true);
      allConpen.forEach((item) => {
         const allcomponent = component.getControlByPath(`exampltest.${index}.${item}`);
         allcomponent.setDisableState(false);
      })
   }
});

         最终效果如下图
1742263790538.jpg

1742282792837.jpg
大家来答
    精选文章
    前端定制基于postmessage通讯机制使用说明
     业务场景:       在前端定制开发场景中需要实现不同任务
    DAP后端应用写法-使用DWDataSet进行数据库的新增/修改
    场景使用高代码后端要去数据库变更数据, 除了直接下SQL的方式外, 更可用java物件的方
    DAP后端应用写法-使用DWQueryInfo进行数据库的查询
    场景使用高代码后端要去数据库查资料, 除了直接下SQL的方式外, 更可用java物件的方式,
    排錯技巧 - 雅典娜签核,间歇性会报错
     问题描述顾问反馈:雅典娜签核套件点击OA送签或查看签核流程时,间歇性会报错。
    鼎捷雅典娜-运营单元
     背景说明鼎捷雅典娜是云地整合的架构,在新客户期初导入时,需要针对新客户租户
    • 关注公众号
    Copyright © 2025 鼎捷数智股份有限公司 版权所有 All Rights Reserved. Powered by Discuz! X5.0
    关灯 在本版发帖
    即将开放
    返回顶部
    快速回复 返回顶部 返回列表