gdufo

           

          ZK Paging組件實現動態分頁,描述很通俗易懂

          ZK Paging組件實現動態分頁,描述很通俗易懂


          Xml代碼  收藏代碼
          1.   zul 頁面:  
          2. <?xml version="1.0" encoding="utf-8"?>  
          3. <?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="userWin"?>  
          4.   
          5. <window id="userWin" width="100%" use="com.linktel.linkFax.web.zk.controller.UserController"  
          6.     xmlns:h="http://www.w3.org/1999/xhtml" xmlns:n="http://www.zkoss.org/2005/zk/native"  
          7.     xmlns="http://www.zkoss.org/2005/zul" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
          8.     xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">  
          9.   
          10.           <listbox id="userLbx" model="@{userWin.userList}" fixedLayout="true"   paginal="@{pagingUser}" selectedItem="@    
          11.                      {userWin.user}">  
          12.                   <listhead sizable="true">  
          13.                     <listheader label="用戶名"></listheader>  
          14.                     <listheader label="手機號"></listheader>  
          15.                     <listheader label="分機號"></listheader>  
          16.                     <listheader label="公司名稱"></listheader>  
          17.                     <listheader label="部門名稱"></listheader>  
          18.                     <listheader label="職位"></listheader>  
          19.                     <listheader label="傳真"></listheader>  
          20.                      <listheader label="角色"></listheader>  
          21.                     <listheader label="啟用狀態"></listheader>  
          22.                     <listheader label="創建時間" ></listheader>  
          23.                    </listhead>  
          24.                      
          25.                    <listitem self="@{each=user}" forEach="@{user.roles}">  
          26.                            <listcell label="@{user.username}"></listcell>  
          27.                            <listcell label="@{user.phone}"></listcell>  
          28.                            <listcell label="@{user.exten}"></listcell>  
          29.                            <listcell label="@{user.coname}"></listcell>  
          30.                            <listcell label="@{user.deptname}"></listcell>  
          31.                            <listcell label="@{user.position}"></listcell>  
          32.                            <listcell label="@{user.fax}"></listcell>  
          33.                            <listcell  label="@{each.name}"></listcell>  
          34.                            <listcell label="@{user.enabled}"></listcell>  
          35.                            <listcell label="@{user.createtime}"></listcell>  
          36.                    </listitem>  
          37.            </listbox>  
          38.                   
          39.            <paging id="pagingUser"  pageSize="2"></paging>  
          40. </window>  
           

           

          Java 代碼綁定paging動態分頁綁定數據

           

           

          Java代碼  收藏代碼
          1. java  代碼:  
          2. package com.linktel.linkFax.web.zk.controller;  
          3.   
          4. import java.util.ArrayList;  
          5. import java.util.Date;  
          6. import java.util.List;  
          7.   
          8. import org.zkoss.zk.ui.Components;  
          9. import org.zkoss.zk.ui.event.Event;  
          10. import org.zkoss.zk.ui.event.EventListener;  
          11. import org.zkoss.zk.ui.ext.AfterCompose;  
          12. import org.zkoss.zkplus.databind.AnnotateDataBinder;  
          13. import org.zkoss.zkplus.spring.SpringUtil;  
          14.   
          15. import org.zkoss.zul.Window;  
          16. import org.zkoss.zul.api.Listbox;  
          17. import org.zkoss.zul.api.Paging;  
          18. import org.zkoss.zul.event.PagingEvent;  
          19.   
          20. import com.linktel.linkFax.dao.support.Page;  
          21. import com.linktel.linkFax.domain.Authority;  
          22. import com.linktel.linkFax.domain.Role;  
          23. import com.linktel.linkFax.domain.User;  
          24. import com.linktel.linkFax.service.UserService;  
          25.   
          26.   
          27. @SuppressWarnings("serial")  
          28. public class UserController extends Window implements AfterCompose{  
          29.        
          30.        private User user = new User();  
          31.     protected AnnotateDataBinder binder;  
          32.     public List<User> userList;  
          33.     protected Listbox userLbx;  
          34.   
          35.     public User getUser() {  
          36.         return user;  
          37.     }  
          38.     public void setUser(User user) {  
          39.         this.user = user;  
          40.     }  
          41.         public  void setUserList(List<User> userList) {  
          42.         this.userList = userList;  
          43.     }  
          44.   
          45.     @Override  
          46.     public void afterCompose() {  
          47.         Components.wireVariables(this, this);  
          48.         Components.addForwards(this, this);  
          49.           
          50.         onGetUser();//頁面初始化的時候條用此方法  
          51.     }  
          52.   
          53.     public void onCreate() {  
          54.         binder = (AnnotateDataBinder) this.getVariable("binder", true);  
          55.   
          56.     }  
          57.   
          58.     public List<User> onGetUserList() {  
          59.         return userList;  
          60.     }  
          61.   
          62.     public void onGetUser() {  
          63.     
          64.            final UserService service  = (UserService) SpringUtil.getBean("userService");  
          65.           final Paging paging= (Paging) this.getFellow("pagingUser");//找到id命名為pagingUser的paging組件  
          66.           int totalSize=service.countUser();  //查詢出所有數據的記錄數;  
          67.           paging.setTotalSize(totalSize);   //設置paging組件的總記錄數;  
          68.           final int pageSize=paging.getPageSize();  //這個我不詳細描述了自己想....  
          69.                /** 
          70.                *下面就是為paging組件添加事件監聽器 "onPaging"事件 
          71.                * 
          72.                */  
          73.           paging.addEventListener("onPaging", new EventListener() {  
          74.                     public void onEvent(Event event) throws Exception {  
          75.                             PagingEvent pagingEvt=(PagingEvent) event;//轉化成PaingEvent事件  
          76.   
          77.                             Page<User> pu=new Page<User>();//這個是我自己寫的工具類  
          78.                                            //其實就是將傳入參數pageSize,pageNo的封裝  
          79.                                              
          80.                             pu.setAutoCount(true);  
          81.                             pu.setPageNo( pagingEvt.getActivePage());  
          82.                             pu.setPageSize(pageSize);  
          83.                               Page<User>  pageUser=    service.pagedUser(pu,user);//后臺biz層的數據訪問  
          84.                               userList=  pageUser.getResult();//result返回一個集合對象全部數據  
          85.                                binder.loadComponent(userLbx);//這個不加闡述了  
          86.                     }  
          87.                 });  
          88.                
          89.     }  
          90.   

          posted on 2012-06-16 22:20 gdufo 閱讀(1587) 評論(0)  編輯  收藏 所屬分類: zkoss


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 昌吉市| 博客| 开鲁县| 武陟县| 湘潭县| 三明市| 衡南县| 弥勒县| 海丰县| 北流市| 阳朔县| 嘉禾县| 聊城市| 徐州市| 敦煌市| 闽清县| 江都市| 外汇| 兴宁市| 秦皇岛市| 敦煌市| 岚皋县| 闻喜县| 筠连县| 永登县| 卓资县| 台山市| 晋宁县| 元朗区| 无为县| 南漳县| 周宁县| 郎溪县| 青岛市| 荆门市| 扬州市| 桦南县| 阳高县| 兴隆县| 米泉市| 宜阳县|