隨筆-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 閱讀(2491) 評論(0)  編輯  收藏 所屬分類: JavaJSF
          主站蜘蛛池模板: 浮梁县| 长丰县| 和田县| 胶南市| 靖州| 融水| 奎屯市| 册亨县| 辉县市| 梁河县| 额尔古纳市| 咸宁市| 定襄县| 金堂县| 阿合奇县| 霍山县| 临武县| 延长县| 南涧| 兴安县| 宁乡县| 望奎县| 依兰县| 呼伦贝尔市| 永德县| 陆河县| 成武县| 洞口县| 长乐市| 南木林县| 聂拉木县| 区。| 红原县| 彭泽县| 三原县| 安新县| 贵阳市| 阳高县| 汝州市| 北流市| 洪雅县|