Tri sur un gridview avec boucle infini [Résolu]

Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Dernière intervention
26 juin 2006
- - Dernière réponse : ayeleteric
Messages postés
4
Date d'inscription
lundi 27 novembre 2006
Dernière intervention
8 février 2007
- 27 nov. 2006 à 07:52
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 propriétés sort expression de mes colonnes et mis la propriété AllowSorting de mon gridview à True et et lié Onsorting à mon évenement MonGridView_Sorting.
Mon problème est que lorsque je clique sur les entete de colonne, l'appli part en bouble infini.
Voici le code de mon évenement sorting :

protected
void GridView1_Sorting(
object sender,
GridViewSortEventArgs e){

      GridView1.Sort(e.SortExpression,

SortDirection.Ascending);
}

Merci d'avance
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
3
Merci
Bonjour, c'est normal que ca part en boucle infini, car l'appel à la méthode sort lance l'evenement sorting ...

regarde ici pour un exemple du sorting avec un gridview : http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.sorting.aspx tu en trouveras pleins d'autre sur google :-)

<hr />Cyril - MVS - MCP

Merci jesusonline 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de jesusonline
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Dernière intervention
26 juin 2006
3
Merci
J'ai trouvé la réponse à mon problème ici : http://www.dotnet-news.com/lien.aspx?ID=20315 
Attention à déclarer en plus les deux constantes de tri  :
private

const
String ASCENDING =
" ASC";

private
const
String DESCENDING =
" DESC";

Merci cs_Eric25 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Eric25
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Dernière intervention
26 juin 2006
0
Merci
Merci pour le lien. En fait je l'avais déjà consulté mais y'a un truc que je ne dois pas comprendre. Dans l'exemple de msn,  il semble que lorsque l'évenement sorting est appelé, le tri s'effectue de lui même hors de mon côté ca ne marche pas...
Voilà pourquoi j'essayais d'appeler mongrid.Sort().
Y'a t'il d'autre propriété à initialiser pour permettre le tri  ???

Merci 
Commenter la réponse de cs_Eric25
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
0
Merci
Bonjour, quelle source de données utilises tu ? un sqldatasource ?

<hr />Cyril - MVS - MCP
Commenter la réponse de jesusonline
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Dernière intervention
26 juin 2006
0
Merci
J'ulisise une oledbconnexion pour me connecter à n'importe quelle base (ici il s'agit de SQLServeur) et je charge mon gridview via une dataTable :

using

(
OleDbConnection connMessage =
new
OleDbConnection(
Utilitaires.GetChaineConnexion())){

sBaseRequete =

"SELECT ....";

string sRequete = sBaseRequete + sOrderDate;

OleDbDataAdapter da =
new
OleDbDataAdapter(sRequete, connMessage);

DataSet ds =
new
DataSet();da.Fill(ds,

"Message");

DataTable dtMessage = ds.Tables[
"Message"];GridView1.DataSource = dtMessage;

//Chargement du GridViewGridView1.DataBind();
}

Merci pour ton aide
Commenter la réponse de cs_Eric25
Messages postés
4
Date d'inscription
lundi 27 novembre 2006
Dernière intervention
8 février 2007
0
Merci
Bonjour,

Est-il possible de trier un GridView utlisant javascript?

Eric H.
Commenter la réponse de ayeleteric
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
0
Merci
Oui rien est impossible mais c'est TRES compliqué pour l'instant ... regarde du coté de Rhino qui doivent surement avoir fait quelque chose du genre, sinon il te reste a attendre que le projet Ajax Control Toolkit sorte ce controle (normalement c'est prévus) (http://ajax.asp.net/ajaxcontroltoolkit)

<hr />Cyril - MVS - MCP
Commenter la réponse de jesusonline
Messages postés
4
Date d'inscription
lundi 27 novembre 2006
Dernière intervention
8 février 2007
0
Merci
En fait, j'ai cree le header de mon GridView par code de la facon suivante:

Dim

cell11 AsNew TableCell,cell12 AsNew TableCell

cell11.Text =
"Nom de famille"
cell12.Text =
"Prenom"

'Pour donner l'effet d'un lien:
cell11.Style,add("Text-decoration","underline")
cell11.Style,add("cursor","hand")
cell12.Style,add("Text-decoration","underline")
cell12.Style,add("cursor","hand")

'Un attribut supplementaire pour le tri:

cell11.attributes,add("OnClick","javascript:SortGridView(ColIdx);")
cell12.attributes,add("OnClick","javascript:SortGridView(ColIdx);")

'J ai rajoutte la nouvelle rangee au GridView
Dim row1
As
New GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)row1.Cells.Add(cell11)
row1.Cells.Add(cell12)

GridView1.Controls(0).Controls.AddAt(0, row1)

1) Comment ecrire la fonction SortGridView en javascript.
2) C'est qui/quoi Rhino?

Merci pour l'aide

Eric H.
Commenter la réponse de ayeleteric
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
0
Merci
C'est pas Rhino mais Rico ... http://openrico.org/rico/livegrid.page

Pour écrire la fonction SortGridView en JavaScript il faut QUELQUES lignes de JavaScript ... même moi qui aime JS je me lancerais pas le dedans sauf si c'est vraiment indispensable surtout que l'ajaxGrid est surement prévus dans les toolkits ....

si toutefois tu cherche vraiment à faire ca, va plutot voir sur www.javascriptfr.com le meme site mais spécialisé pour JavaScript !

<hr />Cyril - MVS - MCP
Commenter la réponse de jesusonline
Messages postés
4
Date d'inscription
lundi 27 novembre 2006
Dernière intervention
8 février 2007
0
Merci
Merci

Eric H.
Commenter la réponse de ayeleteric

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.