Easyui动态列(并且是复杂表头)

Easyui动态列(并且是复杂表头)

效果图

在这里插入图片描述

1:查询datagrid的动态列数据

(来源后端配置业务代码忽略)

[{
    "addDeleteFlag": 0,
    "dimensionCode": "000001",
    "dimensionName": "TAB1",
    "dynamicFields": [{
        "dimensionCode": "000001",
        "dimensionName": "TAB1",
        "editableAdmin": 1,
        "editableSupplier": 1,
        "fieldCode": "86eac7f6ebe3441e966765e430108e2e",
        "fieldName": "\u4E0B\u62C9",
        "fieldType": 2,
        "fixedCheckFunction": "",
        "isFixed": 0,
        "isRequired": "",
        "jsonData": "[{\"selectValue\":\"A\",\"isNewRecord\":false},{\"selectValue\":\"B\",\"isNewRecord\":false}]",
        "labelAlias": "\u4E0B\u62C9",
        "orderNum": "0",
        "promptText": "",
        "width": "80"
    }],
    "hasWeiYiFlag": "",
    "templateCode": "000006",
    "templateName": "\u4E00\u4E2A\u7EF4\u5EA6",
    "weiYiFieldCode": ""
}]

2:生成动态列需要的column属性数据

/**
 * 生成动态的复杂表头
 * @param data
 */
function generateCol(data) {
    var columns1 = [];
    var columns2 = [];
    $.each(data, function (index, dimension) {
        columns1.push({
            field: dimension.dimensionCode,
            title: '<span style="color: #722ed1">' + dimension.dimensionName + '</span>',
            halign: 'center',
            //第一行合并单元格
            colspan: dimension.dynamicFields.length,
        });
        $.each(dimension.dynamicFields, function (fieldIndx, field) {
            var title = '<span style="color: #FFB6C1">' + field.labelAlias + '</span>';
            columns2.push({
                field: field.fieldCode,
                title: title,
                width: field.width,
            });
        });
    });

    var columns = [];
    columns.push(columns1);
    columns.push(columns2);
    return columns;
}

3:构建datagrid


function loadGrid(columns) {
    let searchHeight = $(el.searchForm).outerHeight();
    $(el.tb).datagrid({
        height: el.bodyHeight - searchHeight - 60,
        width: gridwidth,
        singleSelect: false,
        pagination: false,
        idField: '',
        url: 'url',
        autoHeight: true,
        loadMsg: "数据加载中......",
        rownumbers: true,
        fitColumns: false,
        striped: false,
    });
}

4:datagrid展示数据后端接口处理

核心就是返回一个hasmap的集合,key就是动态的field

 public List<HashMap<String, String>> allFieldData(DynamicSupplierDataQuery query) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值