2014-06-12 80 views

回答

3

我知道的唯一方法就是使用計算子窗體。 如果文檔具有標誌,則顯示帶有屬性的字段的子窗體「在輸入每個字符時查找名稱」。 如果文檔沒有標誌,則顯示沒有屬性的字段的子窗體「輸入每個字符時查找名稱」。

+0

是的,我認爲這是一個可以接受的方式。我完全忘記了這個小小的「基於公式的插入子表單」複選框;-) –

1

使用adminfd所述的子窗體是一種可能性。但它有一些缺點:

  1. 您在設計器中看不到計算子窗體的內容,無法雙擊(開發人員不方便)。
  2. 使用大量的子窗體可以使加載形式非常緩慢

我通常不喜歡的東西,與其他字段。我做了場本身隱藏,並與公式計算:

@If(YourCondition; FieldNameWithLookup; FieldNameWithoutLookup); 

然後,我創建的隱藏字段以上兩個領域,他們的名字FieldNameWithLookupFieldNameWithoutLookup,並使用相同的條件在該領域的價值 - 公式隱藏。

是的,它會產生一些開銷,因爲有兩個額外的字段,這是不必要的,但我更喜歡這種方法。

如果您有現有文檔,那麼在兩個新字段中需要公式FieldName作爲默認值,並且可能需要一些代碼,如果在文檔的不同狀態期間顯示一個或另一個字段的條件值發生更改......

+0

感謝您的努力!您的觀點正確無誤,我們可以添加到列表中,只有在運行時纔會收到「雙字段」警告。因此,您建議的解決方案是一個不錯的選擇。 –

+0

@理查德:你爲什麼要跑掉跑步?你試過了嗎?這不是一個笑話......拿一個老客戶(不知道到什麼時候這個工作),並把10個子表單放在這個表單中。沒有任何內容...然後打開表單:直到它打開,它需要幾秒鐘時間。現在把代碼昏暗的runfaster布爾runfaster = 1到子窗體的任何腳本部分,並再次打開相同的形式:它將立即打開... –

+0

我真的認爲這是一個笑話,雖然我深深的背後,我猜我記得有人說這是真的。但它不是特定於「runfaster」,對吧?任何代碼都可以做到這一點。這是「runfaster」,讓我覺得這是一個笑話,因爲多年來,我們都希望作爲notes.ini設置,這絕對是一個笑話! –