2012-07-30 37 views

回答

1

那麼有,但不是你描述的方式。看一看什麼操作(條件格式)在InfoPath中隱藏了您的字段 - 例如:當值超過9000時,MyValue字段被隱藏;所以在你的代碼中你只需要檢查這個值是否超過了9000(隱藏)或者沒有(顯示)。

解決此問題的更好方法是爲每個字段創建一個觸發器。 MyValue字段只存儲該值,不會觸發任何條件格式,這會改善代碼和InfoPath表單的隔離。觸發字段(即MyValueTrigger)具有實際的形式,因爲它是默認值(即MyValue> 9000),只要形式計算結果爲0或1(如果您願意,爲TRUE或FALSE),然後您可以進行檢查觸發器字段。

+0

你告訴我,有沒有辦法使用C#來測試一個字段是否可見?即使你編寫了一個自定義函數來測試字段的'.Visible'屬性,然後遍歷它的父類來測試_their_'.Visible'屬性?沒有什麼能夠將您建議的觸發字段與實際控件聯繫起來,因此除了單獨測試所有觸發字段外,沒有一般的程序化解決方案。如果您可以測試字段本身的屬性,則可以開發遞歸解決方案。 Amirite? – 2015-06-01 17:56:17

+0

不要誤解我的意思。我非常喜歡使用布爾型觸發字段來顯示和隱藏InfoPath中的控件,特別是作爲打破VSTA和編寫一些自定義代碼的替代方案。 – 2015-06-01 17:58:48

相關問題