easyui datagrid合并主键值一样的记录

  easyui datagrid如何将相同主键值的记录进行数据合并,显示在第一行,数据源截图和默认datagrid显示效果如下,数据源其实就是下载的压缩包里面jquery-easyui-1.4.1\demo\datagrid\datagrid_data1.json改的,将productid改相同几个。

easyui datagrid合并主键值一样的记录

未合并前显示效果

easyui datagrid合并主键值一样的记录

数据源截图示例

easyui datagrid合并主键值一样的记录

合并后效果

easyui datagrid合并主键值一样的记录源代码如下

    <script>
        function mergeData(d) {
            //return d
            var idKey = 'productid'//主键列名称
            var kv = {},attr,rowIndex,idValue
            for (var i = 0; i < d.rows.length; i++) {
                idValue = d.rows[i][idKey];
                if ((rowIndex = kv[idValue]) === undefined) {//未记录过次主键,记录执行下次循环
                    kv[idValue] = i;//记录主键值行下标
                    continue;
                }
                //存在重复主键值,合并
                for (attr in d.rows[i]) {
                    if (attr != idKey) d.rows[rowIndex][attr] += ',' + d.rows[i][attr];
                }
                d.rows.splice(i, 1);//删除重复数据行
                i--;//回退1
            }
            return d;
        }
    </script>
    <table class="easyui-datagrid" title="Basic DataGrid" style="width:700px;height:250px"
           data-options="singleSelect:true,collapsible:true,url:'mergedata.json',loadFilter:mergeData,method:'get'">

 


原创文章,转载请注明出处:easyui datagrid合并主键值一样的记录

评论(0)Web开发网
阅读(378)喜欢(0)easyui开发技巧