2011-08-26 3 views
2

mais dans l'exigence spécifique, je veux utiliser la boîte de suggestion fournie par GWT. Je ne peux pas obtenir toutes les chaînes de DB et de stocker dans la boîte de suggestion, car il a 16000 enregistrements. donc mon exigence est comme et quand l'utilisateur entre 3 charaters j'ai besoin d'obtenir la chaîne qui correspond à 3 caractères (comme la recherche). S'il vous plaît me suggérer comment y parvenir?comment utiliser GWT suggérer boîte avec RPC?

Merci!

Répondre

4

Mettre en oeuvre votre propre SuggestOracle que, lorsqu'on lui a demandé des suggestions, fait un appel de serveur asynchrone au lieu de correspondre contre un ensemble de chaînes en mémoire:

public class MySuggestOracle extends SuggestOracle { 
    public void requestSuggestions(SuggestOracle.Request suggestRequest, 
           final SuggestOracle.Callback callback) 
    { 
    RequestBuilder rb = 
     new RequestBuilder(RequestBuilder.GET, 
         "/suggestions?" + suggestRequest.getQuery()); 
    rb.sendRequest(null, new RequestCallback() { 
     @Override 
     public void onError(Request request, Throwable exception) { 
     // Handle error 
     } 

     @Override 
     public void onResponseReceived(Request rbRequest, Response response) { 
     SuggestOracle.Response r = new SuggestOracle.Response(); 

     // Fill r based on suggestions in the response parameter. 

     callback.onSuggestionsReady(suggestRequest, r); 
     } 
    }); 
}