在从支持bean中选择的extendedDataTable中设置行

时间:2011-09-17 15:05:17

标签: spring jsf richfaces selectedvalue richdatatable

我想知道如何以编程方式设置从我的支持bean中选择的ExtendedDataTable中的行。我需要在我的网络应用中编辑用户。用户有一些角色所以我想要的是,当加载页面时,在extendedDataTable中选择了用户拥有的组。

我正在使用带有JSF 2和richfaces 4的Spring3。

我认为我需要将表绑定到请求范围内的支持bean。我可以使用Spring请求范围吗?之后我需要在数据表上实现walk()。我不知道从那里去哪里,有人可以指出我正确的方向或给我一个例子吗?

此致

德克

1 个答案:

答案 0 :(得分:1)

这是我的一段代码。这有效,我看到“rowdata等于对象”的日志语句,但现在我需要对“选择”行说,但据我所知,没有一种方法......我怎么能做到这一点?

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 );
     }