2012-03-01 24 views
1

檢索行數據,我創建一個ADF表所示:排序ADF表導致空指針異常,當我後來嘗試從表

<af:table value="#{bindings.TargetsAssign.collectionModel}" 
          var="row" 
          rows="#{bindings.TargetsAssign.rangeSize}" 
          fetchSize="#{bindings.TargetsAssign.rangeSize}" 
          rowBandingInterval="0" 
          selectionListener="#{bindings.TargetsAssign.collectionModel.makeCurrent}" 
          rowSelection="multiple" 
          styleClass="AFStretchWidth" columnStretching="last" 
          binding="#{pageFlowScope.mappingBean.m_mappingtable}" 
          id="t3"> 

所有在這個表中的列排序。 有關本表中選擇多行,豆文件包含下面的代碼:

RowKeySet rks = m_mappingtable.getSelectedRowKeys(); 
    Iterator itr = rks.iterator(); 
    DCBindingContainer bindings = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry(); 
    DCIteratorBinding targetIter = bindings.findIteratorBinding("TargetsAssign"); 
    RowSetIterator tableIterator = targetIter.getRowSetIterator(); 
    while (itr.hasNext()) 
    { 
     key = (Key) ((List)itr.next()).get(0); 
     Row row = tableIterator.getRow(key); 
     String str=(String)row.getAttribute("TargetName"); /*----------------->> THis line is throwing Null pointer exception. 
     . 
     . 
     .further code......*/ 
    } 

使用排序選項在UI一切正常排序表之前,但一旦我們對錶進行排序,並再次嘗試在表中選擇行來執行一些使用上述代碼進行操作時,將拋出空指針異常,因爲在此情況下,行row = tableIterator.getRow(key)返回null。

任何人都可以請告訴爲什麼會發生,以及如何解決它。 謝謝。

+0

的SelectionListener中屬性你可以添加你JSPX頁 – 2012-03-01 18:46:56

+0

遺憾的完整代碼,但我不能添加全JSPX代碼。 – user1241926 2012-03-05 09:33:42

回答

0

嘗試刪除你的表

+0

沒有工作。 – user1241926 2012-03-07 06:40:54

相關問題