Tri sur un gridview avec boucle infini

Résolu
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 22 juin 2006 à 17:29
ayeleteric Messages postés 4 Date d'inscription lundi 27 novembre 2006 Statut Membre 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

10 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
22 juin 2006 à 18:15
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
3
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
26 juin 2006 à 15:53
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";
3
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
23 juin 2006 à 09:00
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 
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 juin 2006 à 10:34
Bonjour, quelle source de données utilises tu ? un sqldatasource ?

<hr />Cyril - MVS - MCP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
23 juin 2006 à 11:06
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
0
ayeleteric Messages postés 4 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 8 février 2007
27 nov. 2006 à 06:57
Bonjour,

Est-il possible de trier un GridView utlisant javascript?

Eric H.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
27 nov. 2006 à 07:08
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
0
ayeleteric Messages postés 4 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 8 février 2007
27 nov. 2006 à 07:24
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.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
27 nov. 2006 à 07:43
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
0
ayeleteric Messages postés 4 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 8 février 2007
27 nov. 2006 à 07:52
Merci

Eric H.
0
Rejoignez-nous