Сортировка таблицы 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">

Все столбцы в этой таблице можно сортировать. Для выбора нескольких строк в этой таблице файл Bean содержит следующий код:

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......*/
    }

Перед сортировкой таблицы с использованием параметра сортировки в пользовательском интерфейсе все работает нормально, но как только мы сортируем таблицу и снова пытаемся выбрать строки в таблице для выполнения какой-либо операции с использованием приведенного выше кода, возникает исключение Null Pointer, поскольку в этом случае строка row = tableIterator.getRow(key) возвращает null.

Может кто подскажет почему так происходит и как это исправить. Спасибо.


person user1241926    schedule 01.03.2012    source источник
comment
Можете ли вы добавить полный код вашей страницы jspx   -  person Amr Gawish    schedule 01.03.2012
comment
извините, но я не могу добавить полный код jspx.   -  person user1241926    schedule 05.03.2012


Ответы (1)


Попробуйте удалить атрибут selectionListener вашей таблицы.

person Amr Gawish    schedule 05.03.2012