IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

optimiser un AutoCompleteBox


Sujet :

Silverlight

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut optimiser un AutoCompleteBox
    Bonjour,

    J'ai un AutoCompleteBox qui est basé sur environ 3000 codes postaux (de quatre chiffres).
    Comme dans l'exemple du toolkit silverlight, j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MinimumPrefixLength="2"
    qui devrait limiter les codes postaux suggérés à environ une trentaine.

    Cependant, lorsque je tape "10", il me suggère immédiatement les codes postaux adéquats, si je tape 20, il lui faut un peu plus de temps, et au delà de cinquante, il ne me suggère plus rien !

    Qu'est-ce que je ne fais pas bien ?

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!--RIA - CodePostal-->
            <riaControls:DomainDataSource x:Name="CodePostalDS" LoadSize="24" QueryName="GetCodePostalTblQuery"  AutoLoad="True" >
     
                <riaControls:DomainDataSource.DomainContext>
                    <MonProjetWeb:MY_Context/>
                </riaControls:DomainDataSource.DomainContext>
     
     
                <riaControls:DomainDataSource.SortDescriptors>
                    <riadata:SortDescriptor PropertyPath="CodePostalCode" Direction="Ascending"/>
                </riaControls:DomainDataSource.SortDescriptors>
     
            </riaControls:DomainDataSource>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <input:AutoCompleteBox 
                                x:Name="acbZip"
                                MinimumPrefixLength="2"
                                ValueMemberBinding="{Binding CodePostalCode}"
                                ItemsSource="{Binding Data, ElementName=CodePostalDS}"
                                Width="230"
                                />

  2. #2
    Invité
    Invité(e)
    Par défaut
    Enlèves le LoadSize et ça devrait mieux marcher normalement.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut
    Merci pour ta réponse.

    J'ai enlevé le LoadSize.

    Il y a un mieux au niveau de l'autocompleteBox dans le sens ou maintenant il suggère toujours les codes postaux après que j'ai tapé les premiers chiffres. Exemple, si je tape 50, il me sugère bien 5000, 5030, 5100,...

    Par contre, il est évident qu'il charge les 3000 codes car ma page est "bloquée" pendant une dizaine de secondes avant même que je n'ai eu le temps de taper le deuxième chiffre dans mon AutoCompleteBox acbZip.

    Je m'attendrais plutôt à ce qu'il ne charge que les codes postaux qui correspondent à ceux qu'il doit me suggérer et seulement quand le deuxième chiffre est introduit dans acbZip.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut
    depuis mon post initial, je n'ai plus 3000 mais 100000 codes postaux dans ma source de donnée.

    Pas question donc de faire un load complet de mes données !!!

    J'ai donc ajouté un paramètre à mon Ria service qui est basé sur mon AcbZip.
    Chaque fois que je change le texte de mon acbZip, mon paramètre est donc modifié et ma fonction "GetCodePostalTblQuery" réexécutée. Dans cette dernière, je met que si la longueur de mon paramètre n'est pas au moins égale à 3, je retourne Nothing sinon je retourne les codes postaux qui commencent par les trois premier caractères tapés (ce qui me fait un maximum de 100 codes retournés). Résultat, le temps de réponse est super.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimisation de votre SGBDR et de vos requêtes...
    Par SQLpro dans le forum Langage SQL
    Réponses: 35
    Dernier message: 11/01/2013, 11h49
  2. Réponses: 0
    Dernier message: 14/02/2010, 01h11
  3. [VB6] [BDD] Optimisation de l'accès aux données
    Par LadyArwen dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/01/2003, 13h27
  4. [langage]Problème de temps de lecture, optimisation
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2003, 08h47
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo