DynamicViewPanelとカスタムBeanを使用してリンクである列を変更します。ビューの最初の列である列は、setRendered()メソッドを使用してBean経由で非表示にされ、別の列はsetDisplayAs( "link")メソッドを使用してリンクになります。それは正常に動作しますが、oncolumnclickイベントは決して発生しません。イベントは元の列に関連付けられ、「新しい」リンク列には関連付けられていないようです。DynamicVIewPanelは、カスタマイズされている場合oncolumnclickを無視します。
とにかく「新しい」リンク列にイベントを結びつけるには?新しいXPageに移動する前にスコープ変数を設定する必要があります。
ハワード
マイアールが提案したようなものを使用すると、これが動作します。方法、公共ボイドafterCreateColumn(のFacesContextコンテキスト、INTインデックス、 ColumnDef colDef、ICONTROL列){で
は、私は隠れたカラムからイベントを取得するためにこのコードを追加:
//Hide the first column in this view
if(dynamicColumn.getColumnName().equalsIgnoreCase("$2")){
//dynamicColumn.setRendered(false);
dynamicColumn.setDisplayAs("hidden");
String type = dynamicColumn.getChildren().get(0).getClass().toString();
DebugToolbarBean.get().info("type is " + type);
event = (XspEventHandler) dynamicColumn.getChildren().get(0);
}
I
:私は私が追加リンクになりたかったの列を作った後com.ibm.xsp.component.xp.XspEventHandler event;
、:また、これを保持するために、イベント変数を作成しました3210
XPageがあなたにとって奇妙な動作をしているのなら、JSON-RPCを呼び出すクライアント側のonclickイベントを書くことができます。 JSON-RPCは、バックエンドのスコープ付き変数を設定できます。 –
これは、カスタマイザビーンのカラムにCSJSを追加することができるので可能ですが、問題はCSJSでそのローの値を取得することになります。その部分は難しいかもしれません... – Howard
トリッキーですが可能です。 jQueryで値を取得し、JSON-RPCに渡すことができます。 –