EasyUI使用DataGrid实现动态列数据绑定

 更新时间:2022年08月23日 08:45:52   作者:壮哈苗  
这篇文章主要介绍了EasyUI使用DataGrid实现动态列数据绑定的相关资料,需要的朋友可以参考下

最近,在对公司的一个老项目进行优化调整。有个使用的三方插件报表页面,一旦查询时间过长就会自动异常并使浏览器崩溃,由于这个插件只有个前人遗留的dll文件,实在看不懂里面的代码无从下手,既然项目前端大部分是基于EasyUI做的,想着就直接用EasyUI的DataGrid做数据报表明细展示。

由于之前很少做过B/S相关的项目,对于前端了解的不是很多,好在EasyUI框架文档资料比较多,功能也比较齐全,上手还是比较快的。

下面开始我的第一个关于报表开发时遇到的第一个问题:EasyUI DataGrid动态列数据绑定

EasyUI DataGrid动态列数据绑定实现方式并不是很发杂,请求到远程数据后,通过其中一条列表数据获取到列字段,然后在通过datagrid对数据进行绑定

$.getJSON(url, queryParams, function (result) {
    // 清空报表节点数据
    $("#tbGrid").empty();

    // 拼装列头
    if (result && result.total > 0) {
        var columns = new Array();
        $.each(result.rows[0], function (i, field) {
            var column = {};
            column["title"] = i;
            column["field"] = i;
            columns.push(column);
        });

        $('#tbGrid').datagrid({
            height: 780,
            singleSelect: true,
            rownumbers: true,
            pagination: true,
            columns: [
                columns  // 列头绑定
            ],
            data: result.rows  // 表格内容数据绑定
        });

        //分页处理
        var pager = $('#tbGrid').datagrid('getPager');
        pager.pagination({
            showRefresh: false,
            total: result.total,
            pageList: [50, 100, 200, 500],
            pageSize: queryParams.rows,
            pageNumber: queryParams.page,
            buttons: [{
                text: '导出',
                iconCls: 'icon-redo',
                handler: function () {
                    exportToExcel(queryParams);
                }
            }],
            onSelectPage: function (pageNumber, pageSize) {
                $(this).pagination('loading');
                btnRefresh_onclick(pageNumber, pageSize);
                $(this).pagination('loaded');
            }
        });

后台返回的数据对象是按datagrid要求的格式数据返回的

 public class EasyUIPageObject
 {
     public object rows { get; set; }
     public int total { get; set; }
     public object footer { get; set; } // 可选
 }

到此这篇关于EasyUI使用DataGrid实现动态列数据绑定的文章就介绍到这了,更多相关EasyUI DataGrid 动态列数据绑定内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关参考:

https://www.jeasyui.com/forum/index.php?topic=2197.0
http://jeasyui.com/documentation/index.php#

相关文章

  • jQuery实现点击任意位置弹出层外关闭弹出层效果

    jQuery实现点击任意位置弹出层外关闭弹出层效果

    在之前做项目的时候经常会在主页面上点击某个按钮,右侧弹出一个div输出对应内容的详细信息,怎么实现的呢,今天小编给大家分享通过jquery实现点击任意位置弹出层外关闭弹出层效果,感兴趣的朋友一起看看吧
    2016-10-10
  • JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数

    JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数

    显示用户输入的字符数 限制用户输入的字符数的实现方法。
    2009-05-05
  • jQuery菜单插件superfish使用指南

    jQuery菜单插件superfish使用指南

    Superfish是一款Jquery插件,它能非常容易的建立复杂的多级下拉菜单,Superfish使用也非常普遍。你可能用Superfish实现多种菜单效果。
    2015-04-04
  • JQuery选择器用法详解

    JQuery选择器用法详解

    本文详细讲解了JQuery选择器的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • jQuery插件fullPage.js实现全屏滚动效果

    jQuery插件fullPage.js实现全屏滚动效果

    这篇文章主要为大家详细介绍了jQuery全屏滚动插件fullPage.js的使用方法,可制作全屏滚动网页,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 基于jquery的一行代码轻松实现拖动效果

    基于jquery的一行代码轻松实现拖动效果

    写JS实现拖动需要一大堆不便维护的代码,实属麻烦,Google了大半天,发现了一个优秀的Jquery插件EasyDrag,只需要一行代码便可轻松在主流浏览器上。
    2010-12-12
  • JQuery动态添加Select的Option元素实现方法

    JQuery动态添加Select的Option元素实现方法

    下面小编就为大家带来一篇JQuery动态添加Select的Option元素实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • jQuery实现商品活动倒计时

    jQuery实现商品活动倒计时

    这篇文章主要介绍了jQuery实现商品活动倒计时,倒计时在WEB上应用非常广泛,如考试系统倒计时,团购网站中的优惠活动倒计时等等,感兴趣的小伙伴们可以参考一下
    2015-10-10
  • 利用javascript/jquery对上传文件格式过滤的方法

    利用javascript/jquery对上传文件格式过滤的方法

    jquery中对上传文件格式过滤的方法,需要的朋友参考下。
    2009-07-07
  • 详解jQuery中的事件

    详解jQuery中的事件

    jQuery增加了并扩展了基本的事件处理机制,不但提供了更加优雅的事件处理语法,而且极大地增强了事件处理能力。本文将对此进行详细介绍,需要的朋友一起来看下吧
    2016-12-12

最新评论