2013-10-25 49 views
0

表頭標題行被配置爲在後續頁面中包含標題行,我的腳本應該動態地取消隱藏一列。 但它僅取消第一頁上的標題單元格和內容單元格(對所有內容單元格進行循環)。 如何實現此列的所有標題行單元格都是未隱藏的(在每個後續頁面上)。Adob​​e LiveCycle Designer每個腳本隱藏表列標題

表結構:

Table 
-> TableHeader 
--> TableHeaderCells 
-> TableContent 
--> TableContentCells 

代碼的形式主要:

this.frmTable.tblTable.hdrTableHeader.hdrCellX.presence = "visible"; 

回答

-1

我沒有創建一個表單,並試圖自己完全知道 - 但我認爲你需要使用[* ] 慣例。

像這樣:

this.frmTable.tblTable.hdrTableHeader.hdrCellX [*] =存在 「可見」;

另外 - 如果連接到後端數據源,您也可能需要使用綁定。這裏有一篇文章是關於使重複的子表單工作,以及如何將它綁定到XML模式http://www.adobe.com/devnet/livecycle/articles/binding-xsd.html - 它處理類似的概念。

然後您需要對這些字段進行迭代循環 - 我認爲拋棄循環的是您沒有指示存在多於一個的那個[*]指示符,這就是爲什麼它只返回一個。

希望幫助 - 這是我最好的猜測,看看你在這裏有什麼。

0

您應該遍歷表頭。試試下面的代碼:

var fields = xfa.resolveNodes("this.frmTable.tblTable.hdrTableHeader[*]"); 
for (var i=0; i <= fields.length-1; i++) { 
    fields.item(i).hdrCellX.presence = "visible"; 
} 
+0

你好,非常感謝你爲你的輸入。但即使表格有兩個標題(兩頁),「fields.length」也是1。所以第二頁上的headerCell是不可見的:-( – Rugosh

+0

奇怪:(我測試過這段代碼,它對我有效,如果你能分享你的表單,我可以試着找出錯誤的地方 – poliglot

0

我所做的是在標題事件偵聽器。與您的代碼會是這樣的:

frmTable.tblTable.hdrTableHeader::initialize - (JavaScript, client) 
    this.hdrCellX.presence = "visible"; 

初始化應自動對錶的更新被調用,流入了新的一頁......

+0

這段代碼的頭部單元格是顯示,但不是在正確的位置,它與第一個標題單元格重疊:-( – Rugosh

+1

你可能需要手動計算'tblTable.columnWidths',我必須使用兩列(假設顯示10mm和15mm),它必須10mm 15mm「,第一個隱藏的是」0.01mm 15mm「,這並不完美,我希望我有一個更清潔的解決方案,但我沒有。 – gillup

相關問題