tian_zhe1997 2019-10-22 20:33 采纳率: 0%
浏览 363

SSM+easyUI,用了datagrid,想实现下图中展示的那种表格内的复选框形式,有没有什么好的方法?

1.第一个难点:用到了datagrid之后,怎么实现下图中的表格内展示出所有人的姓名,并且可以实现多人复选保存,请大佬说一下大致思路和解决方案,万分感谢。

2.第二个难点:表内数据联动,选择部门之后,右侧的姓名栏内的人名只显示自己部门内的人。

目前还是一筹莫展,希望知道怎么解决的人积极评论。

图片说明

  • 写回答

1条回答

  • wusp1994 2023-06-05 15:48
    关注

    第一个很简单啊,把问题换成:在 easyUI 的 datagrid 中,自定义展示内容的 DOM 结构。
    通过 formatter 函数返回一个 HTML 字符串来实现。步骤如下:

    1. 在 datagrid 的 columns 属性中定义需要展示的列, formatter 属性。
    $('#dg').datagrid({
        url: 'get_data.php',
        columns: [[
            {field:'id',title:'ID',width:100},
            {field:'name',title:'Name',width:100},
            {field:'age',title:'Age',width:100},
            {field:'gender',title:'Gender',width:100,formatter:formatGender},
            {field:'address',title:'Address',width:200,formatter:formatAddress}
        ]]
    });
    

    2,在 formatter 属性中定义一个函数,用于生成自定义的展示内容。该函数需要接收三个参数:value、row 和 index。其中,value 表示当前单元格的值,row 表示当前行的数据对象,index 表示当前行的索引。

    function formatGender(value, row, index) {
        if (value == 1) {
            return '<span style="color: blue;">Male</span>';
        } else if (value == 2) {
            return '<span style="color: red;">Female</span>';
        } else {
            return '<span style="color: gray;">Unknown</span>';
        }
    }
    
    function formatAddress(value, row, index) {
        return '<div>' + row.province + row.city + row.district + row.street + '</div>';
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作