2011-11-08 23 views
1

我需要提供AutocompleteBox,這將使用戶能夠輸入數據。應該爲字符串字段提供完整性(例如:UserName)。問題是源數據庫表包含成千上萬個包含10個字段的記錄。從巨大的表中自動完成數據字符串

如何在Silverlight中處理此問題?

回答

3

首先,保持您的服務有效載荷儘可能小。 AutoCompleteBox應該只需要一個或兩個字段 - 一個鍵和一個值對 - 以便當他們選擇該項目時,應用程序可以進行另一個查詢來獲取該特定記錄的其餘數據。

其次,我建議分頁您的自動完成結果。在用戶輸入兩個或三個字符到AutoCompleteBox之前,不要進行初始查詢。一旦完成,請查詢數據庫以獲取與其標準更接近的值的子集。如果他們刪除字符,則需要重新查詢表以更改數據源值。

關鍵是1)根據字符串值對錶進行索引,2)儘可能少地從服務器恢復到客戶端,以便使網絡負載保持較小。