2017-06-14 3 views
0

私のカスタムオブジェクトに選択リストがあります。私は、異なるテンプレートを埋め込む必要があるVisualforceページを作成しています。メインVFページでは、このカスタムオブジェクトリストを反復しています。このカスタムオブジェクトリストでは、ピックリスト値をこの頂点に渡す必要があります。インクルード属性「ページ名」です。私はこの選択リストの値と同じ名前のVisualforceページを持っています。頂点のリストフィールド値の1つをpagename属性に渡します。includeタグ

以下

は、私がこれまで試みたが、運がなかったしているサンプルコードです:

コード1 -

<apex:page renderAs="pdf" controller="MyCheckLayoutController"> 

<apex:repeat value="{!listwrapper}" var="cl" > 
     <apex:include pageName="{!cl.check_layout_type}" >  // cl.check_layout_type is variable in wrapper class and it is the name of visualforce page as well. 

/* This gives error as variable not found. */ 

     </apex:include> 
    </apex:repeat> 
</apex:page> 

コード2 -

<apex:page renderAs="pdf" controller="MyCheckLayoutController"> 

<apex:repeat value="{!listwrapper}" var="cl" > 

    <apex:variable var="type" value="{!cl.check_layout_type}" /> 
    {!type} // This variable contains value 

    <apex:include pageName="{!type}" > 

/* But It doesnot read it's value here. It says pagename cannot be null*/ 
     </apex:include> 
    </apex:repeat> 
</apex:page> 

私は多くを試してみました今まではある人が答えることができれば、本当に大きな助けになるでしょう。おかげさまで

答えて

0

実際にこれを試してみましたが、ページ名をVFページで定義する必要があるか、またはページrefを返すゲッターまたはページrefを返すget属性を持つプロパティにバインドする必要があるようです。リピータの変数にバインドできないようです。多分Dynamic Componentsがトリックをするかもしれないかどうかを調べるべきです

+0

私もこのオプションを試しました。しかし、コントローラへの呼び出しなしでリストを反復しながら、変数SelectedOptionWithNameOfPageを変更するにはどうすればよいですか?私が知る限り、リピートタグでは頂点機能を呼び出すことはできません。私のVFページはpdfとしてレンダリングされているので、JavaScript関数をそこで呼び出すことはできません。リストの反復で頂点変数を変更する方法はありますか? – Neha

+0

私はまずrenderAsを削除し、何が起こるかを見ます。ページが正しく表示される場合は、pdf形式のレンダリングです。 – Psymn

関連する問題