EasyUI表格DataGrid假分页及获取表格数据

 假分页就是将所有要显示的数据全部查询出来后,进行前台的分页,适合数据量较小的Web项目

在假分页的情况下获取所有数据:

var totalData = $("#datagrid").datagrid(‘getData‘);

var rows = totalData.originalRows;

完整的Demo:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" type="text/css" href="jquery-easyui-1.5.1/themes/default/easyui.css">
        <link rel="stylesheet" type="text/css" href="jquery-easyui-1.5.1/themes/icon.css">
        <script type="text/javascript" src="jquery-easyui-1.5.1/jquery.min.js"></script>
        <script type="text/javascript" src="jquery-easyui-1.5.1/jquery.easyui.min.js"></script>
        <script type="text/javascript" src="jquery-easyui-1.5.1/locale/easyui-lang-zh_CN.js"></script>
        <title></title>
        <script>
            $(document).ready(function() {
                $("#datagrid").datagrid({
                    pagination: true, //分页控件
                    pageSize: 3,
                    pageList: [3, 6, 9],
                    loadFilter: partPurchasePagerFilter
                }).datagrid(‘loadData‘, getData());

                $("#btn").click(function(){
                    //获取假分页的所有数据
                    var totalData = $("#datagrid").datagrid(‘getData‘);
                    var rows = totalData.originalRows;
                    $.each(rows,function(i,value){
                        alert("所有行 "+value.stuNo+" "+value.stuName+" "+value.stuSex);
                    })

                    //获取假分页的当前页数据
                    var currentRows = $("#datagrid").datagrid(‘getRows‘);
                    $.each(currentRows,function(i,value){
                        alert("当前页 "+value.stuNo+" "+value.stuName+" "+value.stuSex);
                    })
                });
            });

            function getData(){
                var rows = [];
            for(var i=1; i<=10; i++){
                rows.push({
                    stuNo: 2230+i,
                    stuName: ‘Name‘+i,
                    stuSex: ‘男‘
                });
            }
            return rows;
            }

            function partPurchasePagerFilter(data) {
                if(typeof data.length == ‘number‘ && typeof data.splice == ‘function‘) {
                    data = {
                        total: data.length,
                        rows: data
                    }
                }
                var dg = $(this);
                //返回属性对象
                var opts = dg.datagrid(‘options‘);
                //返回页面对象
                var pager = dg.datagrid(‘getPager‘);
                pager.pagination({
                    onSelectPage: function(pageNum, pageSize) {
                        opts.pageNumber = pageNum;
                        opts.pageSize = pageSize;
                        pager.pagination(‘refresh‘, {
                            pageNumber: pageNum,
                            pageSize: pageSize
                        });
                        dg.datagrid(‘loadData‘, data);
                    }
                });
                if(!data.originalRows) {
                    data.originalRows = (data.rows);
                }
                var start = (opts.pageNumber - 1) * parseInt(opts.pageSize);
                var end = start + parseInt(opts.pageSize);
                data.rows = (data.originalRows.slice(start, end));
                return data;
            }
        </script>
    </head>

    <body>
        <table data-options="fitColumns:true,rownumbers:true" id="datagrid" class="easyui-datagrid" title="学生">
            <thead>
                <tr>
                    <th data-options="field:‘stuNo‘,width:100">学号</th>
                    <th data-options="field:‘stuName‘,width:100"> 姓名 </th>
                    <th data-options="field:‘stuSex‘,width:100">性别</th>
                </tr>
            </thead>
        </table>
        <button id="btn">获取数据</button>
    </body>
</html>

原文地址:https://www.cnblogs.com/xianya/p/9890813.html

时间: 2024-08-09 05:12:32

EasyUI表格DataGrid假分页及获取表格数据的相关文章

解决easyui中datagrid不分页加载大量数据渲染慢问题

easyui版本1.3.6 查看jquery.easyui.min.js源码,发现渲染数据时会调用函数_52a,会重置高度,进而增加渲染时间. 解决方法:设置datagrid的autoRowHeight: false. 原文地址:https://www.cnblogs.com/chenboxi/p/9398259.html

实例:SSh结合Easyui实现Datagrid的分页显示(JAVA版)

近日学习Easyui,发现非常好用,界面很美观.将学习的心得在此写下,这篇博客写SSh结合Easyui实现Datagrid的分页显示,其他的例如添加.修改.删除.批量删除等功能将在后面的博客一一写来. 首先看一下要实现的效果:当每页显示5行数据: 当每页显示10行数据,效果如下: 具体步骤: 1.下载Easyui,并搭建环境.可参照博客 http://blog.csdn.net/lhq13400526230/article/details/9148299 2.搭建SSH工程,整个工程的目录结构如

SpringMVC+easyUI中datagrid行编辑模式(添加数据)实现_2014.5.2

一.概述 根据我们平常的习惯,一共有两种修改模式,一种是弹窗是修改,将原有的数据提取到dialog上,然后再重新提交到后台(好像easyui里面有个onAfterEdit,这个事件里面有三个参数,其中的一个参数就是发现数据是否有改变),而第二种方式就是实现行编辑模式,在原有的datagrid上添加一个空行,(本例是实现添加数据,不考虑原有数据). 二.实现 1.后台就不赘言了.直接上代码,但是我还是有个疑问,对于SpingMVC的Controller层次中的方法的**入参**,我在前台通过aja

easyUI数据表格datagrid之分页

一.分页函数 /**========================================= * 分页函数 */function pagerFilter(data) { if(typeof data.length == 'number' && typeof data.splice == 'function') { // is array data = { total: data.length, rows: data } } var dg = $(this); var opts =

EasyUI中DataGrid默认分页的问题

发现在table上直接写data-options后导致数据加载两遍,后来放到了$();中只加载一遍. 另外默认分页PageSzie的设置. 1 $(function () { 2 //加载完后给星星加Tip 3 $("#dg").datagrid({ 4 rownumbers:true, 5 url:'datagrid_data1.aspx', 6 method:'get', 7 fit: true, 8 striped:true, 9 pagination: true, 10 onL

easyui的datagrid里getSelections只能获取一行值???

使用getSelections只能获取到一行的值,检查了半天是因为idField属性值写错,更正之后ok. 解决办法二:改为使用getChecked,idField写错无影响, 注: getSelections.getChecked的idField属性注掉,也可以获取到多行的值了. getSelected:取得第一个选中行数据,如果没有选中行,则返回 null,否则返回记录.getSelections:取得所有选中行数据,返回元素记录的数组数据. getChecked:取得checkbox选择行

jQuery-EasyUI修改DataGrid默认分页大小

发现EasyUI还是很强大的,也很方便,但对于像我这样刚刚接触这个框架,JavaScript也不是很熟练的人来说,定制起来就有点困难了,主要是想要修改源码起到全局修改的作用时对应的代码找起来比较麻烦. 例如:EasyUI的DataGrid默认分页是每页10条,可供选择的每页记录数是按10递增,即10.20.30等等(如图) EasyUI本身包含了很多文件,要修改找起来真不容易,在./themes/default/easyui.css(./表示easyui根目录,default是我使用的主题,要根

向上滚动或者向下滚动分页异步加载数据(Ajax + lazyload)

/**** desc : 分页异步获取列表数据,页面向上滚动时候加载前面页码,向下滚动时加载后面页码 ajaxdata_url ajax异步的URL 如data.php page_val_name ajax异步的URL中的页码参数名 如pageno page_no 初始加载页码,默认1 [如2,则与前面两参数结合为data.php?pageno=2] is_lazyload 是否开启懒加载 page_count 总页数 empty_msg 没有数据的时候提示(可传输图片) ending_msg

Jquery EasyUI datagrid后台数据表格生成及分页详解

由于项目原因,网站后台需要对用户信息进行各种操作,有时还需要进行批量操作,所以首先需要将用户信息展示出来,查了不少资料.发现Jquery EasyUI确实是一个不错的选择,功能强大,文档也比较全面,而且容易上手.今天就把自己在项目中用到的功能做了一个总结.生成数据表格如下所示: 接下来上代码 界面html及js代码 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"/>