J'ai une zone de texte et une vue de grille. Le gridview est rempli en fonction de la valeur entrée dans la zone de texte. Supposons que j'entre un nom dans la zone de texte. Lorsque je tape le nom dans la zone de texte, les résultats dans la grille doivent changer dynamiquement. Par exemple, si j'entre John dans la zone de texte, après avoir entré Jo, la grille devrait remplir les résultats qui commencent par Jo et si j'entre h, la grille devrait remplir les résultats avec Joh et ainsi de suite. S'il vous plaît me suggérer une solution (en C#) pour cela. Merci d'avance.Modification dynamique de la grille en fonction de la saisie de la valeur dans une zone de texte
Répondre
Vous devez gérer l'événement text changed de votre txtBox. Et rebind la grille de données avec les données correspondant à la zone de texte
private void txtBox_TextChanged(object sender, EventArgs e)
{
string strValue = this.txtBox.Text;
DataSet ds = ... // Get the dataset that matches strValue
this.dgrid.DataSource = ds;
}
Cependant, ce rechargeant après chaque DataGrid l'utilisateur tape lettre, serait une opération très coûteuse. Je suggère de fournir un bouton de rechargement après que l'utilisateur a fini d'entrer le texte.
Si vos données ne sont pas très fréquemment modifiées (comme de nombreux changements lorsque l'utilisateur est sur le formulaire ou la page), vous pouvez obtenir toutes les données et les mettre en cache dans votre propre. Ensuite, vous filtrez simplement cet ensemble de données en fonction de la valeur entrée dans la zone de texte:
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (tb.Text == "")
{
//Unfilter the data
gv.DataSource = dtb;
return;
}
//Get default view of your data table and filter
DataView dv = dtb.DefaultView;
//Suppose your column name is "Value"
dv.RowFilter = "Value like '" + tb.Text + "%'";
gv.DataSource = dv;
}
Mais ne pensez-vous pas filtrer Une grande quantité de données à chaque pression de touche est lourd. Vous le faites au foyer perdu (flou) de la zone de texte ou lorsque l'utilisateur appuie sur la touche Entrée. Juste mes pensées ...
Voici un excellent site Web de référence sur Binding a DataGridView to Collection. Cela a la liaison bidirectionnelle que vous recherchez.
- 1. Flex: Modification de la zone de texte
- 2. GUI: Modification des panneaux en fonction de la valeur de la zone de liste déroulante
- 3. Impossible d'activer la fonction Javascript à partir d'une zone de texte dans une vue en grille
- 4. Problème de modification des valeurs dans la zone de texte
- 5. comment modifier la valeur dans la zone de texte à la date actuelle en fonction de la valeur sélectionnée dans la zone de liste déroulante dans javascript
- 6. Comment passer la valeur d'une zone de texte dans une grille de données à javascript
- 7. obtenir la valeur de la zone de texte de php
- 8. Nom de la vue dynamique dans la fonction Valeur table
- 9. Obtenir la valeur de la zone de saisie en html en externe Javascript
- 10. En cascade vers une zone de saisie de texte automatique
- 11. jQuery doit définir la valeur de la variable à partir de la valeur d'une zone de saisie de formulaire
- 12. Insérer du texte de champ de saisie dans la zone de texte avec JavaScript
- 13. Désactiver la recherche dynamique lors de la saisie d'une zone de liste
- 14. Problème avec la saisie de texte dans le contrôle de zone de texte
- 15. définir la valeur dynamique et le texte de la boîte de sélection
- 16. Hauteur dynamique pour la saisie semi-automatique AJAX Zone de texte
- 17. Comment fonctionne la saisie semi-automatique de la zone de texte 'tags' de StackOverflow?
- 18. C# valeur de la zone de texte sous 2 formes
- 19. flex 3 rendre la hauteur de l'application dynamique en fonction de la taille de la grille de données
- 20. Quelle syntaxe utiliserais-je pour renvoyer une valeur à une boîte de saisie existante? Remplir la zone avec la valeur
- 21. Obtenir la position du curseur dans une zone de texte
- 22. chargement flash swf externe et modification de la valeur du champ de saisie enfant
- 23. Validation de la zone de texte
- 24. Ajouter un élément au-dessus de la zone de texte sans modifier la position de la zone de texte
- 25. Modification dynamique du type de validateur dans une zone de texte
- 26. Modification de la valeur NumberConstants.decimalSeparator()
- 27. Modification de la couleur du lien en fonction de la fonction de feuille de style
- 28. Quelle est la valeur SystemColors de la bordure de la zone de texte?
- 29. Comment multiplier et définir la valeur de multiplier sur la zone de texte en utilisant JavaScript
- 30. Problème de masque de saisie dans la zone de texte VBA?
Quelle est la source de données de votre grille? – AlexDrenea