インプレース編集では、一般的にユーザーのクリックに応じて、データを含むエントリフォームが動的に表示されます。ユーザーは、データを入力してフォームを閉じることができます。
例えば、後ろにリンクが付いた名前のリストがユーザーに対して表示されるとします。
リンクをクリックすると、ユーザーがそのエントリを編集できるフォームが開きます。
var c = getComponent("inPlaceForm1") // inPlaceForm1 being the ID of the control
c.show()
c.hide()
c.toggle()
このコントロールは自動的に、子コントロールを作成して JSF ツリーに挿入するか、必要に応じてそれらを削除します。このコントロールは繰り返しを使用して配置でき、コントロールが表示されるコンテキストのリストを保守します。有効なコンテキストがなくなると、コントロールが JSF ツリーから削除されます。
show() メソッドと toggle() メソッドには、URL パラメータをエミュレートするためのオプションマップがあります。マップの内容は一時的に requestScope にプッシュされ、要求が処理されると削除されます。
ランタイムコストを最小限に抑えるため、inPlaceForm コントロールのコンテンツは、フォームが使用されるまでロードされません。
var c = getComponent("inPlaceForm1")
c.hide()
onclick イベントで、編集された値の部分更新を実行します。更新 ID には、フォーム全体と編集された値が含まれている必要があります。
このフォームで繰り返しコントロール内の行を編集する場合は、繰り返しコントロール全体を更新します。
<xe:inPlaceForm id="inPlaceForm1">
<xp:panel>
<xp:this.data>
<xp:dominoDocument
var="document1" formName="Contact" action="editDocument"
documentId="#{ javascript:row.getNoteID() }"
ignoreRequestParams="true" >
</xp:dominoDocument>
</xp:this.data>
データソースで計算結果プロパティを使用するよう強制し、データソースが実際の要求パラメータを使用しないようにするには、ignoreRequestParams="true" を指定します。