ダイナミックビューパネルを使用して、XPageの中にさまざまなビューを表示しています。これにより、いくつかの問題が生じました。まず、ビュー内に設定された列のスタイル設定はXPageに表示されません(例:列見出しを太字にするなど)。さらに重要なのは、ビューにはビュー内のドキュメントへのリンクが含まれていますが、リンクにはすべてaction=editDocument
が追加されています。action=openDocument
に変更したいと思います。しかし、私はこのプロパティを変更する方法を見つけることができません。動的ビューパネルの使用
答えて
このためにカスタマイザBeanを使用し、そのBeanの名前をDynamic View PanelコントロールのcustomizerBean
プロパティに追加する必要があります。
カスタマイザBeanでは、探しているものなどのスタイリングを制御できますが、自分でJava Beanをコーディングする必要があります。 Jesse Gallagherは拡張カスタムビーンBeanの素晴らしい例を作成し、それをGithubに入れます:https://github.com/jesse-gallagher/Domino-One-Offs。
は、件名に自分のブログの記事を見てください:
- This Dynamic View Customizer Is Getting Into Shape
- Enhancing xe:dynamicViewPanel For My Own Purposes
- あなたが使用できるのopenDocumentにeditDocumentを変更するときに個人の特定の問題については
カスタマイズビーンの次の小さな例:
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import com.ibm.xsp.extlib.builder.ControlBuilder.IControl;
import com.ibm.xsp.extlib.component.dynamicview.DominoDynamicColumnBuilder.DominoViewCustomizer;
import com.ibm.xsp.extlib.component.dynamicview.UIDynamicViewPanel.DynamicColumn;
import com.ibm.xsp.extlib.component.dynamicview.ViewDesign.ColumnDef;
public class customizer extends DominoViewCustomizer{
@Override
public void afterCreateColumn(FacesContext context, int index, ColumnDef colDef, IControl column) {
//Create a variable for the current component
UIComponent columnComponent = column.getComponent();
//Create a reference to the column and set the links to open in read mode
DynamicColumn dynamicColumn = (DynamicColumn) columnComponent;
dynamicColumn.setOpenDocAsReadonly(true);
super.afterCreateColumn(context, index, colDef, column);
}
}
クラスをfaces-config.xmlに追加して、Beanとして使用できるようにすることを忘れないでください。
カスタマイザBeanではなく、onColumnClickイベントを使用して独自のリダイレクトを行うことができます。 。
context.redirectToPage(@ReplaceSubstring(context.getUrl()のtoString()、」:
<xe:dynamicViewPanel value="#{viewdatasource}" id="dynamicViewPanel1" var="viewEntry" pageName="/page.xsp">
<xp:eventHandler event="onColumnClick" submit="true" refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:var url="/page.xsp?action=openDocument&documentId="+viewEntry.getNoteID();
context.redirectToPage(url);
}]]></xp:this.action>
</xp:eventHandler>
</xe:dynamicViewPanel>
SSJSでは、あなたはおそらくこれを追加することで、ドキュメント内のリンクを試すことができます:ここでは例ですeditDocument "、" openDocument "));
あなたがのXPageを使用する代わりに、そのフォームを使用して文書を開きたい場合はrowData
がViewPanel
<xp:eventHandler event="onColumnClick" submit="true" refreshMode="complete" id="eventHandler1">
<xp:this.action><![CDATA[#{javascript:if (!rowData.isCategory())
var url = "0/"+rowData.getUniversalID()+"?OpenDocument"
facesContext.getExternalContext().redirect(url);}]]>
</xp:this.action>
</xp:eventHandler
非常にうまく動作します、ありがとう! –
1つの注意点は、onColumnClickイベントがビュー内のアクティブな列リンク(すべての列ではない)にのみ反応することです。ビュー列にアクティブでない場合は、Webリンクである列を有効にします。リンク。 –
- 1. xpagesの動的ビューパネルの列ヘッダーの書式設定
- 2. xpagesのビューパネルでJDBCクエリをデータソースとして使用するフィルタ列
- 3. 動的SQLを使用した動的索引の使用
- 4. viewswitcher/viewflipperの動的使用
- 5. Laravel動的クラスの使用
- 6. 使用動的なキーkeydownevent
- 7. 動的SQLを使用
- 8. FORTRANメモリ使用率 - 静的対動的
- 9. vlookupの動的列番号の使用
- 10. sp_executesqlでの動的WHERE句の使用
- 11. 動的イメージコンテンツのメディアクエリの使用
- 12. C#ストアドプロシージャの動的パラメータの使用
- 13. 動的バインディングクラスでのC++テンプレートの使用
- 14. 動的環境でのPaxosの使用
- 15. 動的URLでのタグの使用
- 16. グラフの動的データを使用する
- 17. MDX AVG関数の動的使用
- 18. Powershell - 動的パラメータの使用値
- 19. db2の動的テーブル名を使用
- 20. AWS動的インベントリでの使用(ec2.py)
- 21. RavenDBクエリの動的パラメータを使用
- 22. CF7の動的メール(カスタムフィールドを使用)
- 23. 動的linqクエリの変数を使用
- 24. 動的列とjqGridのドロップダウンリストを使用
- 25. Excel動的入力のCOUNTIFを使用
- 26. AnkoComponentの動的使用<*> .startActivity()
- 27. 動的SQLを使用しない動的参照テーブル
- 28. 動的パラメータを使用した動的SQL
- 29. 行数は、動的レポートを使用して動的レポート
- 30. ビューパネル内のカテゴリ名でフィルタリングし、ページャは状態の動作を保存します
ありがとうvarがある場合、あなたは、このようにそれを行うことができます!私は今openDocumentの問題を解決するためにeventHandlerを使用しましたが、私は他の問題を解決するためにカスタマイザBeanを実装します。 –
+1、.setOpenDocAsReadonly(true)は私のために働いた –