Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : GridView et "évènement Sorting" [ WebForms / WebControl ] (dawinch)

mercredi 4 juillet 2007 à 13:57:31 | GridView et "évènement Sorting"

dawinch

Bonjour,

j'ai un Gridview avec tri (AllowSorting="True") bindé à un SqlDataSource. Le tri s'effectue correctement sur les colonnes.
Pour faire une recherche sur les données qui y sont affichées sur un clik bouton, je crée un nouveau SqlDataDource en code behind faisant la requête de recherche.

SqlDataSource sds = new SqlDataSource();
....
MyGridView.DataSource = sds;
MyGridView.dataBind();
...

Le Gridview affiche bien les données voulues.
Le problème vient lorque j'essaye de faire un tri sur une colonne du GridView "fraichement bindé", j'ai une erreur :

"Le GridView "MyGridView" a déclenché un évènement Sorting qui n'était pas géré"  

???
J'ai bien essayé de forcer en code-behind  après le databind() :

MyGridView.AllowSorting = true;
MyGridView.Columns[0].SortExpression = "ITV_SN";

mais rien y fait.

Que faire ??

Merci d'avance.

mercredi 4 juillet 2007 à 14:56:05 | Re : GridView et "évènement Sorting"

gldfdp

Membre Club

MyGridView.Sorting+=

new GridViewSortEventHandler (MyGridView_Sorting); Si tu as défni une fonction de tri. Cela si tu bind en code-behind.

mercredi 4 juillet 2007 à 15:32:25 | Re : GridView et "évènement Sorting"

dawinch

merci de ta réponse ..mais ça marche pas.
Toujours le même message d'erreur.
J'ai essayé avant et après le databind() mais je ne suis pas sûr que ca soit au bon endroit (j'ai toujours pas vraiment bien compris la chronologie des évènements d'ASP.NET quand il reconstruit sa page)
De plus, il me faut redéfinir la foncton de tri;  n'y a t_il pas moyen d'utiliser directement la méthode de tri du GridView ?

mercredi 4 juillet 2007 à 18:56:21 | Re : GridView et "évènement Sorting"

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
pourquoi ne pas utiliser le meme sqldatasource en rajouter un controlparameter associé à la textbox de recherche ?

le code que donne gldfdp permet seulement de s'abonner à l'event sorting du gridview mais tu n'en as pas besoin si tu le bind en utilisant le sqldatasource. C'est utile si tu le bind "à l'ancienne" (je bind toujours à l'ancienne, je trouve les XXXDatasource stupide).


Cyril - MSP - MCTS ASP.net & SQL

jeudi 5 juillet 2007 à 09:05:49 | Re : GridView et "évènement Sorting"

zuff

Réponse acceptée !

Personnellement pour un affichage d'une recherche  avancée dans un Gridview, j'ai créé ma requête "reqRecherche" que j'envois ensuite dans la data source.

SqlDataSourcePersonne.SelectCommand = reqRecherche
hdnReqRecherche.value = reqRecherche
SqlDataSourcePersonne.DataBind()
GridViewPersonne.DataBind()

mais pour que le tri fonctionne il faut réinjecté la requête dans le prerender du Gridview (ou de la page) :

If hdnReqRecherche.Value <> "" Then
   SqlDataSourcePersonne.SelectCommand = hdnReqRecherche.Value
   SqlDataSourcePersonne.DataBind()
End If
GridViewPersonne.DataBind()


C'est pour cette raison que je stock la requête dans Hiddenfield.

jeudi 5 juillet 2007 à 09:21:03 | Re : GridView et "évènement Sorting"

dawinch

merci à vous deux pour vos réponses.
Je pense que je vais opter pour la solution de zuff.
Cyril : qu'appelles tu bindé à l'ancienne ? (nouveau dans ASP, j'ai commencé directement en ASP.NET 2.0 en essayant de suivre la 'logique' de dev Microsoft, celle des vidéos sur leur site, c'est à dire en utilisant un maximum leurs composants. Mais c'est vrai qu'il me semble que par moment, dès qu'on sort de leur utilisation standard, ça complique plus qu'autre chose)

jeudi 5 juillet 2007 à 11:08:53 | Re : GridView et "évènement Sorting"

jesusonline

Membre Club Administrateur CodeS-SourceS
zuff : tu stock la requete dans un hiddenfield ??? :| ben t'es gentil avec ton utilisateur toi ! en faisant ca tu lui laisses le full control de la base ... il peut afficher les requetes qu'il veut. J'espere que tu stockes pas des cartes de crédits ou des infos confidentiels ... en plus j'ai l'impression que ta solution fait 2 requete SQL :s

pour ce qui est du binding à l'ancienne : c'est lorsque l'on fait
monGridview.datasource = macoucheserver.GetDatas(filterValue);
monGridview.DataBind();

et qu'on utilise pas les controles DataSource ...

mais dans ton cas, si tu utilises un sqldatasource je te conseil de rajouté une propriété controlparameter qui est lié à ta textbox. tu n'auras absolument rien à écrire dans le code-behind. Ce qui peut etre utile pour des petits sites ou lorsque tu n'as pas une application bien architecturé en plusieurs couches.


Cyril - MSP - MCPD ASP.net & MCTS SQL

jeudi 5 juillet 2007 à 14:44:39 | Re : GridView et "évènement Sorting"

gldfdp

Membre Club
Pour les applications structurées en plusieurs couches utilise une objectdatasource ça marche très bien.

jeudi 5 juillet 2007 à 17:55:34 | Re : GridView et "évènement Sorting"

zuff

jesusonline: j'utilise hiddenfield en visible= false, l'utilisateur ne vois rien et tu as une variable de page qui existait en 1.1 et disparue sur la 2. (le hiddenfield est moins problèmatique qu'une variable de session )

mardi 17 juillet 2007 à 09:21:20 | Re : GridView et "évènement Sorting"

JuLsupinfo

Tout d'abord merci pour les réponses, elle m'ont bien aidé.
zuff  : au sujet de ta reqRecherche, comment la définit-tu ? en tant que string ? Comment passes-tu en paramètre une valeur d'un textbox par exemple ? :$
En fait je ne vois pas où passer en paramètre l'argument à rechercher ^_^'

Merci d'avance.


1 2

Cette discussion est classé dans : tri, gridview, évènement, sorting, mygridview


Répondre à ce message

Sujets en rapport avec ce message

Tri sur un gridview avec boucle infini [ par Eric25 ] Bonjour,Je débute en asp.net et je galère sur le tri d'un GridView :J'ai un gridview que je rempli via MonGridView.Databind(). J'ai renseigner les pro tri gridview [ par cbu ] Bonjour,je cherche comment trier un gridview suivant une colonne par code behind .. CustomersGridView.SortExpression = "CustomerID"CustomersGridView.S [C# 2.0] Tri sur colonne de gridview [ par javajavajava ] Bonjour, je solicite votre aide car je rencontre un petit problème. Je charge des données dans un gridview, dont des champs dates (au format GridView et tri en ASP.Net 2.0 [ par ClaudeParapente ] Je débute en ASP.net 2.0 et je m'interroge à propos du tri avec le Gridview. En effet les tris que je fais ne fonctionnent que si je choisis la généra Tri d'un gridview en cliquant sur le header [ par mezthium ] Bonjour, Voici mon problème : je voudrais trier mon gridview selon la colonne dont le header a été cliqué. Mon gridview est alimenté par un datasource Tri de GridView [ par philounet ] Je ne parviens pas à effectuer un tri descendant dans une GridView : lors du déclenchement des évennements "DataBound" ou "Sorting", la propriété "Sor Tri dans un Gridview [ par etudiant_IG ] Bonjour Jai un gridview dans lequel j'autorise le tri sur chacune des colonnes.Le tri marche parfaitement mais j'aurais voulu savoir s'il n'était pas Récupérer l'évènement d'un gridview dans un WebUsercontrol [ par Magjjy ] Bonjour,J'ai créé un webusercontrol dans lequel j'ai un gridview.Est-il possible de récupérer depuis la page contenant le usercontrol l'évènement Sele évènement sur un buttonfield dans un gridview [ par lefevre00 ] bonjour j'ai un gridview je vien de créer un buttonfield. Quel est le code behind(c#) associé a cet évènement qui me permettrai de récupérer ma clé pr Gridview , Tri , pagination [ par KatKiller ] Bonjour, Enfaite j'ai un gridview qui a plusieurs pages, ce gridview et nous pouvons le trier par colonne mais le problème quand je clique sur le chan


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.