2012-09-17 35 views
0

我有一個自定義控件,它使用了一個formTable控件,它內部有一個formColumn控件,3個formRow控件,每個formRow控件中的formColumn控件和一個editBox控件。我試圖讓Typeahead在editBox控件上工作。這些是針對城市,州和郵編的,Typeahead使用的是一個名爲ZIPCodesByCity的視圖。第1列包含城市,第2列爲州,第3列爲郵編。Typeahead是否在formTable中工作?

這是我的城市編輯框的部分建議公式:在事先鍵入的內容

@Unique(@DbColumn(@DbName()),"ZIPCodesByCity",1) 

的最少字符數設置爲1和案例sensitve是聽之任之。

當我預覽xpage時,Typeahead不起作用。

任何想法?

MJ

好吧,我編輯的代碼如下所示,它仍然無法正常工作。

@Unique(@DbColumn(@DbName(),"ZIPCodesByCity",1)) 

回答

1

即使我已經做了太多次來算,我發現經常與DbColumn和Dblookup很容易被人忽視的簡單的基礎知識:

有你看着從螢火蟲到預輸入Ajax響應看看返回的是什麼?

您是否已經在computedField中測試了DbColumn以查看返回的內容?

您的DbColumn是否有可能超過64k?

目標視圖中的文檔中是否有任何閱讀器字段?

+0

我想我達到了64K的限制。我該如何解決這個問題? –

+0

在進行打字時,通常最好使用基於用戶鍵入的值代替DbColumn的DbLookup: - 它有助於避免64kb的限制,因爲您正在細化結果 - 您可以返回一個較小的更方便用戶使用的typeahead框中的值列表 請記住,如果您正在查找大型列表(可能是您),DbLookups可能會導致64kb錯誤。在這種情況下,用戶輸入2個或更多字母后,可能會出現類型提示。 –

+0

下面是一個很好的例子:下面是一個很好的例子:http://dominoextnd.blogspot.com/2009/02/xpages-how-to-make-type-ahead-work-for.html –

0

公式中有一個類型錯誤:括號中的一個定位錯誤。它應該是:

@Unique(@DbColumn(@DbName(),"ZIPCodesByCity",1)); 

在你的公式中有一個額外的)在@DbName()調用之後。

+0

我修正了語法,但它仍然不起作用。 –