隨筆-348  評論-598  文章-0  trackbacks-0
          jsp頁面中的相關代碼:
              <f:view>
                  
          <h:form>
                      
          <rich:dataTable id="carList" width="483" rows="10" columnClasses="col"
                          value
          ="#{user.allCars}" var="car">
                          
          <f:facet name="header">
                              
          <rich:columnGroup>
                                  
          <h:column>
                                      
          <h:outputText styleClass="headerText" value="Name" />
                                  
          </h:column>
                                  
          <h:column>
                                      
          <h:outputText styleClass="headerText" value="Decription" />
                                  
          </h:column>
                                  
          <h:column>
                                      
          <h:outputText styleClass="headerText" value="Base Price" />
                                  
          </h:column>
                                  
          <h:column>
                                      
          <h:outputText styleClass="headerText" value="Time" />
                                  
          </h:column>
                                  
          <h:column>
                                      
          <h:outputText styleClass="headerText" value="操作操作" />
                                  
          </h:column>                        
                              
          </rich:columnGroup>
                          
          </f:facet>
              
                          
          <h:column>
                              
          <h:outputText value="#{car.name}" />
                          
          </h:column>
                          
          <h:column>
                              
          <h:outputText value="#{car.description}" />
                          
          </h:column>
                          
          <h:column>
                              
          <h:outputText value="#{car.baseprice}" />
                          
          </h:column>
                          
          <h:column>
                              
          <h:outputText value="#{car.timestamp}" />
                          
          </h:column>
                          
          <h:column>
                              
          <h:commandLink action="#{user.delete}" value="刪除" >
                                  
          <f:param name="id" value="#{car.id}"/>
                              
          </h:commandLink>
                          
          </h:column>                
                      
          </rich:dataTable>
                      
          <rich:datascroller for="carList" id="dc1" 
                      style
          ="width:483px" page="#{user.scrollerPage}"/>                        
                  
          </h:form>
              
          </f:view>
          后臺User類的代碼:
          public class User
          {

              
          private int scrollerPage = 1;
              
              
          private List<CarBean> allCars; 
              
              
          public User()
              
          {

              }

              
              
          public int getScrollerPage()
              
          {
                  
          return scrollerPage;
              }


              
          public void setScrollerPage(int scrollerPage)
              
          {
                  
          this.scrollerPage = scrollerPage;
                  System.out.println(
          "current page = " + scrollerPage);
              }


              
          public List<CarBean> getAllCars()
              
          {
                  CarBeanDAO dao 
          = new CarBeanDAO();
                  Query q 
          = EntityManagerHelper.createQuery("from CarBean cars order by cars.id desc");

                  
          return q.getResultList();
              }

              
              
          public void setAllCars(List<CarBean> allCars)
              
          {
                  
          this.allCars = allCars;
              }

              
              
          public String delete()
              
          {
                  FacesContext ctx 
          = FacesContext.getCurrentInstance();
                  
          int id = Integer.parseInt(ctx.getExternalContext().getRequestParameterMap().get("id"));
                  EntityManagerHelper.beginTransaction();
                  CarBeanDAO dao 
          = new CarBeanDAO();
                  CarBean bean 
          = dao.findById(id);
                  
          if(bean != null)
                      dao.delete(bean);
                  EntityManagerHelper.commit();
                  
          return null;
              }

          }

          datatable+datascroller使用的是偽分頁的方式,也就是說在數據庫層那并沒有分頁,只是程序一次讀出所有數據然后進行程序分頁操作,這樣適合數據量不太大的分頁操作,數據量過大的話就需要自己寫數據模型進行操作了。本分頁代碼加入了刪除記錄的功能,delete結果返回null會使刪除操作完成后返回當前頁面,這樣就會發現剛才被刪除數據消失了,后面數據都上來一條。

          ---------------------------------------------------------
          專注移動開發

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2008-10-28 21:50 TiGERTiAN 閱讀(2487) 評論(0)  編輯  收藏 所屬分類: JavaJSF
          主站蜘蛛池模板: 白玉县| 五家渠市| 同心县| 苗栗县| 武定县| 凌海市| 德化县| 阳春市| 兰溪市| 仁化县| 伊宁市| 郑州市| 海丰县| 固原市| 志丹县| 龙陵县| 资源县| 绥阳县| 建宁县| 康保县| 石河子市| 织金县| 平和县| 景宁| 若尔盖县| 镇江市| 靖州| 始兴县| 汉阴县| 广汉市| 乌鲁木齐市| 望谟县| 车险| 集安市| 清丰县| 富源县| 陆良县| 陇西县| 哈密市| 富宁县| 马尔康县|