1

バッキング Bean から選択した行を ExtendedDataTable にプログラムで設定するにはどうすればよいでしょうか。Web アプリでユーザーを編集する必要があります。ユーザーにはいくつかの役割があるため、ページが読み込まれると、ユーザーが持つグループが extendedDataTable で選択されます。

JSF 2 と richfaces 4 で Spring3 を使用しています。

リクエスト スコープ内にあるバッキング Bean にテーブルをバインドする必要があると思います。そのためにSpringリクエストスコープを使用できますか? その後、私が推測するデータテーブルに walk() を実装する必要があります。そこからどこへ行くべきかわかりません。誰かが私を正しい方向に向けたり、例を挙げたりできますか?

よろしく、

ダーク

4

1 に答える 1

1

ここに私のコードの一部があります。これは機能します。「rowdata equals object」ログ ステートメントが表示されますが、「選択された」行に言う必要がありますが、私が知る限りその方法はありません...どうすればこれを達成できますか?

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 );
     }
于 2011-09-20T11:22:53.107 に答える