ビュー パネルのリンクをクリックしたときに、新しいブラウザ タブでドキュメントを開く方法はありますか?
5 に答える
「ターゲット」は、ビュー パネル コンポーネントのプロパティの 1 つです。そのプロパティの値として "_blank" (Ferry が提案したように) を指定すると、それが各行のリンクに適用されます。ただし、最終的にはエンド ユーザーのブラウザー設定に左右されることに注意してください。あるユーザーには新しいタブが表示され、別のユーザーにはまったく新しいウィンドウが表示され、さらに別のユーザーにはリンクがポップアップとして扱われてブロックされたために何も表示されない場合があります。
2 つのオプションがあります。1つはティムが説明した方法です。もう1つは、ビューの列の値をリンクとして計算できます。そこで _new または _blank プロパティを使用できます。
簡単に言うと、View Column は HTML として与えることができます。そこで、html href タグを使用してページを計算できます。
これはブラウザの設定のみです。リンクに target="_blank" を入れるだけです。
これを試した後、いくつかの理由で使用しないことにしましたが、実装する手順を以下に投稿したいと思います。
ビュー列の [表示] タブで、計算値を選択し、次のように式を入力します。
var _row:NotesXspViewEntry = viewEntry;
var _unid = _row.getUniversalID();
return "<a href='0/" + _unid + "?OpenDocument' TARGET='_new'>" + _row.getColumnValue("RequestNum") + "</a>"
[表示] タブで [HTML] を選択します。
ミックスに別のオプションを追加するだけです。列の表示を「非表示」に設定すると、標準のリンク コントロールを列に配置できます。たとえば、目的の列リンク テキストが「First Name」列で、ページ「Person.xsp」への新しいタブを開いた場合
<xp:viewColumn columnName="firstName" id="vcFirstNameCol" displayAs="hidden">
<xp:viewColumnHeader value="First Name" id="vchFirstName"></xp:viewColumnHeader>
<xp:link escape="true" text="#{javascript: rowData.getColumnValue('firstName');}" id="link1" value="Person.xsp"
target="_blank">
<xp:this.parameters>
<xp:parameter name="documentId" value="#{javascript:rowData.getUniversalID();}"></xp:parameter>
<xp:parameter name="action" value="openDocument"></xp:parameter>
</xp:this.parameters>
</xp:link>
</xp:viewColumn>