Установить строки в extendedDataTable как выбранные из базового компонента - PullRequest
1 голос
/ 17 сентября 2011

Интересно, как я могу программно устанавливать строки в ExtendedDataTable, выбранные из моего компонента поддержки.Мне нужно отредактировать пользователя в моем веб-приложении.У пользователя есть несколько ролей, поэтому я хочу, чтобы при загрузке страницы группы, выбранные пользователем, выбирались в extendedDataTable.

Я использую Spring3 с JSF 2 и richfaces 4.

Я думаю, что мне нужно связать таблицу с компонентом поддержки, который находится в области запроса.Могу ли я использовать область запроса Spring для этого?После этого мне нужно реализовать walk () для данных.Я понятия не имею, куда идти дальше, кто-то может указать мне правильное направление или привести мне пример?

С уважением,

Дерк

1 Ответ

1 голос
/ 20 сентября 2011

Вот кусок моего кода.Это работает, я вижу оператор журнала "rowdata equals object", но теперь мне нужно сказать строке "selected", но, насколько я знаю, для этого нет способа ... Как я могу это сделать?*

public void selectRows(){
          Collection<Object> s = new ArrayList<Object>(getGroups());
  log.debug("set the selection to the table");

          table.getTable().walk(FacesContext.getCurrentInstance(), new DataVisitor() {

  @Override
               public DataVisitResult process(FacesContext context, Object rowKey,
                         Object argument) {
  log.debug("entered walk");
                    Collection<Object> selection = (Collection<Object>) argument;
                    for(Object o : selection){
                         table.getTable().setRowKey(rowKey);
                         if(table.getTable().getRowData().equals(o)){
  log.debug("rowdata equals object");
                              table.getTable().getSelection().add(o);
                              log.debug("size of selection is: " + table.getTable().getSelection().size());
                         }
                    }
                    table.getTable().setRowKey(rowKey);
  return null;
               }
          }, s );
     }
...