zoukankan      html  css  js  c++  java
  • datagrid里面的实现分页功能

      上接datagrid里面的表

    $(function() {
    		$("#tab").datagrid(
    				{
    					fit:true,
    					title : "用户信息",
    					url : "SelectAppUserServlet",
    					fitColumns : true,
    					pagination : true, // 显示datagrid的分页工具栏
    					pageNumber : 1,  //当前默认的是在第一页
    					pageSize : 10,  //每一页有多少数据 ,里面的数一定是存在于pageList里面的一个数
    					pageList : [ 5, 10, 20, 50, 100 ], //在设置分页属性的时候 初始化页面大小选择列表。
    

    Basedao 方法

    public class BaseDao {
    
    	protected Connection conn;
    	protected PreparedStatement ps;
    	protected ResultSet rs;
    
    	public void initQuery(String sql, Object... objs) {  //查询的方法
    		conn = DBHelper.getConnection();
    		try {
    			ps = conn.prepareStatement(sql);
    			if (objs != null) {
    				for (int i = 1;i <= objs.length; i++) {
    					ps.setObject(i, objs[i - 1]);
    				}
    			}
    			rs = ps.executeQuery();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    	}
    	
    	public int initUpdate(String sql, Object... objs) {  //更新数据的方法
    		conn = DBHelper.getConnection();
    		int result = -1;
    		try {
    			ps = conn.prepareStatement(sql);
    			if (objs != null) {
    				for (int i = 1;i <= objs.length; i++) {
    					ps.setObject(i, objs[i - 1]);
    				}
    			}
    			result = ps.executeUpdate();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		close();
    		return result;
    	}
    	
    	
    	public void close() {
    		DBHelper.destroy(conn, ps, rs);
    	}
    }
    

    AppuserDao 方法

    public class AppUserDao extends BaseDao {  //继承方法
    	public int selectAppUserCount() {
    		String sql = "select count(*) cnum from appuser2";  //此方法是来查询数据库里一共有多少数据
    		initQuery(sql);
    		int count = -1;
    		try {
    			if(rs.next()) {
    				count = rs.getInt("cnum");
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		return count;
    	}
    	
    	public List<AppUser> selectAppUser(int page, int rows) {
    		List<AppUser> list = new ArrayList<AppUser>();
    		// String sql = "select * from appuser2";
    		
    		String sql = "SELECT * FROM (SELECT A.*, ROWNUM RNUM FROM "
    				+ "(SELECT * FROM APPUSER2) A WHERE ROWNUM <= ?) R" 
    				+ " WHERE R.RNUM > ?";
    		
    		initQuery(sql, page * rows, (page - 1) * rows);  //注意此处参数的传入
    		try {
    			while (rs.next()) {
    				AppUser user = new AppUser();
    				user.setIds(rs.getInt("ids"));
    				user.setUsername(rs.getString("username"));
    				user.setPassword(rs.getString("password"));
    				user.setRealname(rs.getString("realname"));
    				user.setSex(rs.getInt("sex"));
    				user.setCreatetime(rs.getTimestamp("createtime"));
    				list.add(user);
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		return list;
    	}
    }
    

    分页的Servlet

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    		String page = request.getParameter("page");  //easyui 会自动获取pages(当前页),rows(一页显示多少行)
    		String rows = request.getParameter("rows");
    		
    		Integer ipage = Integer.parseInt(page);  //强转
    		Integer irows = Integer.parseInt(rows);
    		
    		AppUserDao auDao = new AppUserDao();  
    		List<AppUser> list = auDao.selectAppUser(ipage, irows);
    		JSONObject jo = new JSONObject();
    		jo.put("rows", list);
    		jo.put("total", auDao.selectAppUserCount());  //此处设置的是数据库里面总的数据条数
    		response.getWriter().append(jo.toJSONString());  
    	}
    
  • 相关阅读:
    限制CPU个数
    delphi 不阻塞提示对话框
    快捷打开vnc 某个连接
    delphi ShellExecute 传递多个参数
    JS对JSON的操作总结 (转)
    Windows Server 2008 IIS下部署网站出现的问题
    SqlParameter序列化的问题
    求解,工作流点通过时,弹出窗口让用户录入审核意见
    oracle调度
    c# 多态
  • 原文地址:https://www.cnblogs.com/zuo72/p/8260810.html
Copyright © 2011-2022 走看看