zoukankan      html  css  js  c++  java
  • [easyUI] datagrid 数据格 可以进行分页

    1. 新建一个GridNode的类:

    public class GridNode {
        private Long id;
        private String title;//投票标题
        private Integer type;
        private String version;
        private String options;//备选项数
        private String participants;//参与人数
            //getter/setter/constructor省略
    }

    2. 网页内新建一个table元素.

    3. script代码

        $(function(){
            $('#dg').datagrid({
                url:'server/demo7_server.jsp',     //远程请求数据的url路径
                pagination:true,             //显示底部分页栏
                pageSize:5,                    //默认每页记录数
                pageList:[5,10,15],             //显示列表记录数的下拉框选项(左下角的数字下拉框)
                columns:[[    //是一个JSON数组,列:复选框,标题,备选项数,参与人数
                    {field:'ck',checkbox:true},
                    {field:'title',title:'投票标题',408},
                    {field:'options',title:'备选项数',60,align:'center'},
                    {field:'participants',title:'参与人数',styler:myStyler}
                ]],
                toolbar: [{  //是一个JSON数组
                text: '添加',  
                iconCls: 'icon-add',  
                handler: function() {  该JSON对表示一个函数:弹出添加操作.当然可以丰富其内容真正实现添加,比如跳转到添加函数的控制器.
                     alert("添加"); 
                }  
            }, '-', {  //'-' 功能未知
                text: '修改',  
                iconCls: 'icon-edit',  
                handler: function() {  
                    alert("修改"); 
                }  
            }, '-',{  
                text: '删除',  
                iconCls: 'icon-remove',  
                handler: function(){  
                     alert("删除");  
                }  
            }],  
                singleSelect:true,  //单选,这个表格不能多选.
                rownumbers:true,  //显示行数
                iconCls: 'icon-search', //图标
                fitColumns:true,//自适应宽度,防止水平滚动
                height:'auto',
                striped:true,//隔行变色
                loadMsg:"正努力为您加载中......" //刚加载或者刷新后加载过程中显示的信息
            });
        });
        //下面的函数不知道有什么卵用...
        function myStyler(value,row,index){
            if (value < 5){
                return 'background-color:#ffee00;color:red;';
            }else if(value > 15){
                return 'color:green;';
            }
        }
        $(function(){
            $('#dg').datagrid({
                url:'server/demo7_server.jsp',     //远程请求数据的url路径
                pagination:true,             //显示底部分页栏
                pageSize:5,                    //默认每页记录数
                pageList:[5,10,15],             //显示列表记录数的下拉框选项
                columns:[[
                    {field:'ck',checkbox:true},
                    {field:'title',title:'投票标题',408},
                    {field:'options',title:'备选项数',60,align:'center'},
                    {field:'participants',title:'参与人数',styler:myStyler}
                ]],
                toolbar: [{  
                text: '添加',  
                iconCls: 'icon-add',  
                handler: function() {  
                     alert("添加"); 
                }  
            }, '-', {  
                text: '修改',  
                iconCls: 'icon-edit',  
                handler: function() {  
                    alert("修改"); 
                }  
            }, '-',{  
                text: '删除',  
                iconCls: 'icon-remove',  
                handler: function(){  
                     alert("删除");  
                }  
            }],  
                singleSelect:true,
                rownumbers:true,
                iconCls: 'icon-search',
                fitColumns:true,//自适应宽度,防止水平滚动
                height:'auto',
                striped:true,//隔行变色
                loadMsg:"正努力为您加载中......"
            });
        });
        
        function myStyler(value,row,index){
            if (value < 5){
                return 'background-color:#ffee00;color:red;';
            }else if(value > 15){
                return 'color:green;';
            }
        }

    4. 服务器网页的Java代码

    a>导入GridNode的javaBean

    b>新建ArrayList<GridNode>:

    List<GridNode> list = new ArrayList<GridNode>();

    并新建一些GridNode对象添加到list中.

    list.add(new GridNode(1L,"选出你心目中最好的下载工具","2","6"));

    c>接下来的代码:

     1 //获取客户端传递的分页参数    默认参数rows表示每页显示记录条数,  默认参数page表示当前页数
     2 Integer pageSize = Integer.parseInt(request.getParameter("rows"));//目测rows是datagrid自带的参数,表示行数
     3 Integer pageNumber = Integer.parseInt(request.getParameter("page"));//当前页码
     4 StringBuilder builder = new StringBuilder("{"total":"+list.size()+","rows":[");
     5 int start = (pageNumber-1) * pageSize;//计算开始记录数
     6 int end = start+pageSize;//计算结束记录数
     7 for(int i=start;i<end && i<list.size();i++){
     8     GridNode gn = list.get(i);
     9     builder.append("{"id":""+gn.getId()+"","title":""+gn.getTitle()+"","options":"+gn.getOptions()+","participants":"+gn.getParticipants()+"},");
    10 }
    11 String gridJSON = builder.toString();
    12 if(gridJSON.endsWith(",")){
    13     gridJSON = gridJSON.substring(0,gridJSON.lastIndexOf(","));
    14 }
    15 out.print(gridJSON+"]}");
    //输出:

    {"total":list.size(),"rows":[{"id":1L,"title":"选出1",....}
    ,{"id":2L,"title":"选出2",....},...]
    宛如智障,暗藏锋芒
  • 相关阅读:
    优化TableView性能
    iOS应用性能调优的25个建议和技巧
    iOS-常见问题
    iOS开发——高级技术&地图功能的实现
    iOS开发——高级技术&调用地图功能的实现
    iOS开发——高级技术&通讯录功能的实现
    iOS开发——高级技术&系统应用于系统服务
    iOS开发——高级技术&蓝牙服务
    iOS开发——高级技术&社交服务
    ANDROID_MARS学习笔记_S01原始版_005_RadioGroupCheckBoxToast
  • 原文地址:https://www.cnblogs.com/zienzir/p/9221333.html
Copyright © 2011-2022 走看看