程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> datagrid界面,鏈接數據庫讀取數據,datagrid界面

datagrid界面,鏈接數據庫讀取數據,datagrid界面

編輯:JAVA綜合教程

datagrid界面,鏈接數據庫讀取數據,datagrid界面


 

 

1、學生列表的 HTML部分

<script type="text/javascript">
$(function(){
    //創建dataGrid
    $("#dg").datagrid({
        url:'StudentServlet',    //數據來源
        //凍結列
        frozenColumns:[[
        {field:'id',checkbox:true},
        {field:'sno',title:'學號',width:100,sortable:true} ]],        \\可排列
        
        //列的定義
        columns:[[

            {field:'sname',title:'姓名',width:100},
            {field:'sclass',title:'班級',width:100,align:'right'},
            {field:'ssex',title:'性別',width:100,align:'center',hidden:false},            
            {field:'sbirthday',title:'生日',width: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;
    }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved