2012-03-18 101 views

回答

0

我當然會推遲託尼,但我的印象是主題在生命週期中被評估得太晚,無法影響這個特定的屬性值。是不是這麼回事,一個類似於下面理論上可能有效:

<control> 
    <name>DataTable.ViewPanel</name> 
    <property> 
     <name>data</name> 
     <complex type="xp_dominoView"> 
      <property> 
       <name>expandLevel</name> 
       <value>#{1}</value> 
      </property> 
     </complex> 
    </property> 
</control> 

我懷疑,但是,德克蘭會告訴你,使用的PhaseListener或到的ViewHandler將是一個更可行的方法...和我傾向於同意。 ;)

+0

蒂姆,這不完全是。我嘗試過類似的結構。 在我的情況下,數據源是在自定義控件本身上,而不是在DataTable.ViewPanel上。我假設使用ViewRoot作爲控件名應該照顧到這一點。 我仍然希望Tony(或IBM XPages團隊的其他人)用正確的答案發表評論:-) – 2012-03-19 09:48:10

+0

實際上,ViewRoot只適用於組件樹的真實根目錄,而不適用於xp:view標籤一個自定義控件。 – 2012-03-19 13:42:59

+1

我同意蒂姆。主題在渲染響應階段進行評估。但是,當您構建XPage的服務器端映射時,您的數據源的expandLevel屬性需要在生命週期的較早階段進行設置,以便了解需要呈現哪些內容。 – 2012-04-10 09:26:12