Je veux savoir comment rechercher ou filtrer les enregistrements dans un gridview dynamiquement basé sur le caractère (s) entré sur une zone de texte. Quel est le meilleur moyen d'y parvenir? Tous les exemples de codes ou d'exemples seront vraiment utiles.Filtrage Gridview utilisant la zone de texte dans asp.net
Répondre
L'astuce est ici pour faire DataBind que lorsque le changement de texte sur la zone de recherche, mais vous devez toujours définir le code de commande de sélection de source de données. Il faut donc ajouter une zone de texte et un bouton dire, soumettre, et vous avez les éléments suivants:
OnPageLoad ->
if(SearchContron.Text.Length > 0)
SqlDataSource1.SelectCommand = "SELECT * FROM TABLE WHERE Desc LIKE N'%" + SearchContron.Text +"%'"
else
SqlDataSource1.SelectCommand = "SELECT * FROM TABLE "
et
OnSubmitButtonClick -> GridView.DataBind()
Si vous le faites autrement, la pagination et l'édition et d'autres commandes va échouer. Vous pouvez également le rendre plus avancé si vous obtenez le texte de la boîte de texte et le cassez en plusieurs mots et recherchez chacun séparément dans la même commande sql.
Son simple,
Regardez here pour un tutoriel de base sur l'ajout d'un contrôle Ajax à la page. 1) Ajouter la zone de texte ainsi que la vue de grille dans le même panneau de mise à jour 2) Dans l'événement de pression de touche de la zone de texte, vous pouvez définir la source de données de gird et invoquer la commande databind.
Notez que lorsque vous appuyez sur la touche, le cycle de vie complet de la page sera exécuté côté serveur. Par conséquent, vous devrez vérifier si le post-retour est asynchrone ou non dans votre chargement de page même gestionnaire. Une astuce pour réduire le nombre de requêtes de base de données envoyées est de définir un temporisateur lorsque l'utilisateur appuie sur une touche avec un délai de 500 ms et effectue la liaison de données de gridview dans l'événement tick de timer. Si vous faites cela, la base de données ne sera interrogée que si l'utilisateur a cessé de taper quelque chose.
Merci,
Vamyip
Merci de votre temps et de votre considération. Je vais essayer les deux solutions ci-dessus. Et merci pour le lien. –
Sauf si vous avez un besoin spécifique de le faire sur le serveur, pourquoi ne pas effectuer le filtrage sur le client? Une solution comme DataTables est rapide et conviviale.
Si vous optez pour une autre méthode de recherche de conditions de filtrage pour la partie en-tête de la vue de grille. il est facile d'utiliser l'outil dans votre code. Ce sont des concepts utilisés sans base de données mais j'utilisais la table de données dans linq. j'espère utiliser ce code complet.
DataTable dt = (DataTable)Session["ProductTable"];
var query = from t in dt.AsEnumerable()
where t.Field<string>("ProducId").StartsWith(txtProductId.Text.ToString().Trim())
|| t.Field<string>("ProducId").Contains(txtProductId.Text.ToString().Trim())
select t;
Voici un sample program.
Pour lier les données GridView écrire le code suivant
private void GridData()
{
string conString = ConfigurationManager.ConnectionStrings["MyCon"].ToString();
SqlConnection sqlcon = new SqlConnection(conString);
SqlCommand sqlcmd;
SqlDataAdapter da;
DataTable dt = new DataTable();
String query;
if (txtsearch.Text == "")
{
query = "select PersonID,LastName,FirstName from Person";
}
else
{
query = "select PersonID,LastName,FirstName from Person where PersonID like '" + txtsearch.Text + "%' or LastName like '" + txtsearch.Text + "%' or FirstName like '" + txtsearch.Text + "%'";
}
sqlcmd = new SqlCommand(query, sqlcon);
sqlcon.Open();
da = new SqlDataAdapter(sqlcmd);
dt.Clear();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
grdsearch.DataSource = dt;
grdsearch.DataBind();
}
else
{
grdsearch.DataBind();
Label1.Text = "No Records Found";
}
sqlcon.Close();
}
En cas de chargement de la page
if (!IsPostBack)
{
GridData();
}
pour le bouton de recherche, cliquez événement appeler la méthode gridData() et pour cl bouton oreille clic événement écrire code suivant
txtsearch.Text = ""; GridData(); Label1.Text = "";
- 1. asp.net gridview valeur de la zone de texte
- 2. sélecteurs Jquery - filtrage ASP.NET GridView
- 3. Gridview Filtrage fonction intégrée?
- 4. Comment assigner la valeur (valeur ajoutée totale de chaque zone de texte) à la zone de texte 'txtTotal' dans gridview
- 5. Filtrage jQuery Colonnes Gridview
- 6. textarea et dans la zone de texte asp.net
- 7. gridview: Fichier modèle dynamique avec zone de texte
- 8. Filtrage des données dans GridView dans .net2.0
- 9. J'ai un gridview j'ai customiser le gridview en utilisant des étiquettes .. je veux copier l'étiquette dans la cellule 2 à la zone de texte en dehors de gridview?
- 10. filtrage gridview via les tables jointes
- 11. Asp.net gridview
- 12. Vérification du script dans la zone de texte asp.net
- 13. Rendre la zone de texte masquée dans ASP.NET
- 14. ASP.NET Afficher les éléments sélectionnés de la zone de liste dans la zone de texte
- 15. Récupère la valeur de la zone de texte dans un champ de modèle GridView en utilisant Jquery
- 16. Paging Gridview en utilisant linq dans asp.net
- 17. Zone de texte ASP.NET et expression régulière
- 18. Contrôle de zone de texte dans DataGridView
- 19. Comment dynamiquement activer ou désactiver la zone de texte en utilisant jQuery dans ASP.NET MVC?
- 20. asp.net gridview editing
- 21. Jquery comment - zone de texte asp.net change met à jour une autre zone de texte
- 22. Personnalisation de gridview Asp.Net
- 23. La cellule Gridview vide remplit "& nbsp" dans la zone de texte
- 24. étiquettes dans la zone de texte
- 25. Comment ajouter une zone de texte à Dynamic GridView
- 26. Filtrage du texte dans NSTableView
- 27. Zone de texte dynamique à l'intérieur de la touche de l'onglet gridview
- 28. Désactivation/activation de la zone de texte dans GridViewRow
- 29. Contrôle du correcteur d'orthographe de la zone de texte Asp.Net
- 30. ASP.NET GridView HeaderRow
Merci pour votre réponse. Toute autre façon pour que je puisse éviter le contrôle des boutons. Je veux utiliser uniquement un textbox. Tout gestionnaire d'événement qui est utilisé avec une zone de texte itslef ??. J'ai vu dans un forum que cela peut être fait en utilisant un certain contrôle Ajax. Peux-tu m'aider. Je ne suis qu'un débutant. –
@Pavan d'abord le créer avec le bouton, faire vos tests, puis vous pouvez ajouter cacher le contrôle avec css, et le faire automatiquement cliquer avec javascript lorsque vous tapez dans le texte. Mais d'abord, il est facile de travailler ... – Aristos
Ouais, à droite. Merci pour votre réponse mon pote .. :). Je vais d'abord essayer. –