亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

ExtJS筆記---Grid實現后臺分頁

系統 1788 0
好記性不如爛筆頭,現在每次碰見問題和覺得應該記錄下來的東西都會保持寫博客的習慣,今后再次碰見這種問題,就不用把時間浪費了。

這段時間用ExtJS用的多一點,前段時間碰見的分頁問題,今天做個筆記吧。

為了簡單明了,此project使用的是servlet的方式,如果你使用的是struts2或者spring MVC,則相應的改變成對于方式就可以了。

首先在頁面引入ext所不要的文件,這個自然不必多說了吧,另外為了整個項目清晰明了,EXTJS代碼也最好和JSP頁面(當然了,你也有可能使用的模板,同理,這我就不必多說了)分開,那就新建一個app.js,在JSP頁面中也需要引入進來.

PS(這里的JSON解析我使用了GSON,可以參考 https://code.google.com/p/google-gson/ )

下面是app.js的代碼:

    Ext.onReady(function() {
	var pageSize = 5;
	var proxyData = new Ext.data.HttpProxy({url:'getJson'});
	var render = new Ext.data.JsonReader({root:'data',totalProperty: 'totalCount'},[{  
         name : 'id',  
         type : 'int'
     	},{  
         name : 'name',
         type: 'string' 
     	},{  
         name : 'borth',  
         type : 'date'
     	}]);
    var ds = new Ext.data.Store({
        proxy : proxyData,  
		reader : render
    });
    
    var cm = new Ext.grid.ColumnModel([
         new Ext.grid.RowNumberer(),
        { header: '序號', dataIndex: 'id',width:15 },
        { header: '姓名', dataIndex: 'name',width:30 },
        { header: '生日', dataIndex: 'borth',
        	width:55 ,
        	sortable: true,  
  			renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s') }
    ]);
    cm.defaultSortable = true;
    ds.load({params:{start:0,limit:pageSize}});
    
    var grid = new Ext.grid.GridPanel({
        loadMask : {msg:'正在加載數據,請稍等......'},
        store: ds,
        layout:'fit',
        cm: cm,
        height:300,
        renderTo:Ext.getBody(),
		title:'<center>人員信息</center>',
        viewConfig: {
            forceFit: true
        },
        bbar: new Ext.PagingToolbar({
            pageSize: pageSize,
            store: ds,
            displayInfo: true,
            displayMsg: '當前顯示{0} - {1}條,共{2}條數據',
            emptyMsg: "沒有記錄"
        })
    });
});
  

這里要注意 ds.load({params:{start:0,limit:pageSize}});
里面兩個參數大家應該都知道吧? 這就是我們分頁所需要的數據了,
下面是servlet類,為了節約空間,只貼出doPost方法,詳細源文件請下載底部的壓縮包
    public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		int start = Integer.valueOf(request.getParameter("start"));
		int limit = Integer.valueOf(request.getParameter("limit"));

		String jsonStr = null;
		Map<String, Object> jsonObj = new HashMap<String, Object>();
		List<Person> persons = new ArrayList<Person>();
		int totalCount = 20;
		for (int i = 1; i <= totalCount; i++) {
			Person p = new Person(i, "路人" + i, new Date());
			persons.add(p);
		}
		persons = persons.subList(start, limit+start);
		jsonObj.put("data", persons);
		jsonObj.put("totalCount", totalCount);
		response.setContentType("application/x-json");
		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		Gson gson = new Gson();
		jsonStr = gson.toJson(jsonObj);
		out.print(jsonStr);
		out.close();
	}
  

好了,有興趣的同學下載壓縮包導入Eclipse看吧。

ExtJS筆記---Grid實現后臺分頁


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产在视频线精品视频2021 | 中文日本在线 | 婷婷色在线视频 | 福利视频免费 | 精品99在线观看 | 免费日本黄色网址 | 一级毛片免费观看不卡的 | 免费看欧美一级片 | 伊人色播 | 视频一区视频二区在线观看 | 97人人在线观看 | 日韩成人免费视频 | 99久久久久国产精品免费 | 伊人久久综合视频 | 欧美性猛交ⅹxxx乱大交按摩 | 久久666 | 亚洲最大激情网 | 天天爽天天干天天操 | 亚洲女人毛片 | 久久97精品久久久久久清纯 | 国产成人亚洲精品乱码在线观看 | 国内精品久久久久久影院老狼 | 亚洲欧洲日本在线 | 岛国三级视频 | 日日免费视频 | 精品久久久久久乐 | 久久99亚洲精品久久频 | 神马影院我不卡影院 | 亭亭色 | 欧美中文字幕在线观看 | a毛片久久免费观看 | 久久精品五月天 | 国产精品一区二区综合 | 亚洲免费中文字幕 | 色综合久久88色综合天天小说 | 伊人久久亚洲综合 | 五月一区二区久久综合天堂 | 亚洲社区在线 | 奇米影视小说 | 中文国产成人精品久久水 | 国产成人亚洲精品大帝 |