• datagrid界面,链接数据库读取数据


    1、学生列表的 HTML部分

    <script type="text/javascript">
    $(function(){
        //创建dataGrid
        $("#dg").datagrid({
            url:'StudentServlet',    //数据来源
            //冻结列
            frozenColumns:[[
            {field:'id',checkbox:true},
            {field:'sno',title:'学号',100,sortable:true} ]],        \可排列
            
            //列的定义
            columns:[[
    
                {field:'sname',title:'姓名',100},
                {field:'sclass',title:'班级',100,align:'right'},
                {field:'ssex',title:'性别',100,align:'center',hidden:false},            
                {field:'sbirthday',title:'生日',100,align:'center'    }
            ]],
            fitColumns:true, //不能和冻结列同时设置
            striped:true,//斑马线效果
            idField:'sno',//主键列,
            rownumbers:true,//显示行号
            singleSelect:false,//是否单选
            pagination:true,//显示分页栏
            pageList:[5,10,20],//每页行数选择列表
            pageSize:5,//初始页面大小
            remoteSort:false,//是否服务器端排序
            toolbar:[
                     {iconCls:'icon-edit',text:'跳到第2页',
                         handler:function(){$('#dg').datagrid('gotoPage', 2)}
                         
                     },
                     {iconCls:'icon-edit',text:'跳到第3页',
                         handler:function(){$('#dg').datagrid('gotoPage', 3)}
                         
                     }
                     ]
        });
    })
    </script>
    数据表格<br>
    <table id="dg"></table>
    </body>

     2、StudentServlet部分(数据来源)

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
            request.setCharacterEncoding("UTF-8");
            
            response.setCharacterEncoding("UTF-8");
            response.setContentType("text/html");      \汉化
            
            String spage = request.getParameter("page");    \获取page
            String srows = request.getParameter("rows");        \获取rows
            
        
            
            if(spage!=null&&srows!=null)
            {
            int page =Integer.parseInt(spage);
            int rows =Integer.parseInt(srows);
        
            String json = new StudentService().getPageJSON(page,rows);    \调用方法
            
            response.getWriter().println(json);
            }
            else
            {
                response.getWriter().println("{'total':0,'row':[]}" );
            }
                    
        }

    3、StudentService() 类

    public class StudentService {
        
        //查询分页数据
        //返回JSON
        public String getPageJSON(int page,int rows)
        {
            String rtn =    "{"total":0,"row":[]}" ;
            
            int total  =  new StudentDAO().getTotal();
            
            if(total > 0 )
            {
                List<Student> ls = new StudentDAO().getPageList(page, rows);
                
                String ls_json = JSONArray.toJSONString(ls);
                
                rtn = "{"total":"+total+","rows":"+ls_json+"}";          \规范 json 格式
            }
            return rtn;
        }
        
    }

    4、StudentDAO()类内的 getPageList(获取分页数据集合) 和 getTotal(获取数据条数) 的方法

    //获取分页数据集合
        public List<Student> getPageList(int page, int rows)
        {
            List<Student> rtn = new ArrayList<Student>();
            
            init();
            
            rtn = se.createQuery("from Student order by sno").
                    setMaxResults(rows).setFirstResult((page-1)*rows)
                    .list();
            
            destroy();        
            
            return rtn;
            
        }
        
        
        //获取数据条数
        public int getTotal()
        {
            int rtn = 0;
            
            init();
            
            List<Object> lo = se.createQuery("select count(1) from Student").list();
                
            if(lo!=null&&lo.size()>0)
            {
                rtn = Integer.parseInt(lo.get(0).toString());
            }
            
            
            destroy();
            
            return rtn;
        }
  • 相关阅读:
    oracle表连接------&gt;排序合并连接(Merge Sort Join)
    内存损坏问题的演示样例及分析
    HTML5 Canvas中9宫格的坑
    hive udaf 用maven打包运行create temporary function 时报错
    Re-installation failed due to different application signatures.
    UVA 6480 Zombie Invasion(模拟退火)
    POJ3436 ACM Computer Factory 【最大流】
    android图像处理系列之三--图片色调饱和度、色相、亮度处理
    android图像处理系列之四--给图片添加边框(上)
    android图像处理系列之五--给图片添加边框(中)
  • 原文地址:https://www.cnblogs.com/zs6666/p/6115279.html
Copyright © 2020-2023  润新知