2011-09-17 7 views
1

バッキングBeanから選択したExtendedDataTableの行をプログラムで設定する方法がわかります。私は私のWebアプリケーションでユーザーを編集する必要があります。ユーザーにはいくつかの役割がありますので、ページが読み込まれると、ユーザーが持つグループがextendedDataTableで選択されます。私はJSF 2とRichFacesの4バッキングBeanから選択したextendedDataTableの行を設定します。

私は要求スコープ内にあるバッキングBeanにテーブルをバインドする必要があると思うとSpring3を使用してい

。そのためにSpringリクエストスコープを使用できますか?その後、私が推測するデータテーブルでwalk()を実装する必要があります。私はどこから行くべきか分からない、誰かが正しい方向に私を指すことができるか、私に例を与えることができますか?ここで

よろしく、

Derk

答えて

1

私のコードの一部。これは動作しますが、私は "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); 
    } 
関連する問題