IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Datable tri des colonnes


Sujet :

C#

  1. #1
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut Datable tri des colonnes
    Bonjour,

    Je recupere dans une datable mes donnees.
    A l'aide d'un gridview j'affiche celles ci sur ma page.

    Je souhaite permettre le tri par colonne cette gridview.

    Pour cela j'utilise la methode sort sur ma datable .
    Celle ci me permet bien de trier par ASC mais pas par DESC.
    Quelqu'un saurait m'indiquer la methode a suivre?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    protected void GV_Sorting(Object sender, GridViewSortEventArgs e)
        {
            using (NpgsqlConnection conn = new NpgsqlConnection(connectionString))
            {
                    DataTable madatatable = new DataTable();
                    madatatable = Activite.GetActiviteAll(conn, TBnom.Text);
                    madatatable.DefaultView.Sort =  e.SortExpression;
     
                    /*if (e.SortDirection == SortDirection.Ascending)
                        GridView1..SortDirection = SortDirection.Descending;
                    else
                        GridView1.SortDirection = SortDirection.Ascending;*/
     
                    GridView1.DataSource = madatatable;
     
                    GridView1.DataBind();
                  Utils.ConnectionClose(conn);
            }
        }
    merci

  2. #2
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut
    Petite amelioration.

    Par contre je ne sais pas comment faire pour enregistrer dans le datagrid que j'ai trie dans un sens et que par la suite j'aimerais que le tri s'effectue dans l'autre sens... :s


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
       using (NpgsqlConnection conn = new NpgsqlConnection(connectionString))
            {
                    DataTable madatatable = new DataTable();
                    madatatable = Activite.GetActiviteAll(conn, TBnom.Text);
                    if (e.SortDirection == SortDirection.Ascending)
                        madatatable.DefaultView.Sort = e.SortExpression + " ASC";
                    else
                        madatatable.DefaultView.Sort = e.SortExpression + " DESC";
     
                    /*if (e.SortDirection == SortDirection.Ascending)
                        GridView1..SortDirection = SortDirection.Descending;
                    else
                        GridView1.SortDirection = SortDirection.Ascending;*/
     
                    GridView1.DataSource = madatatable;
     
                    GridView1.DataBind();
                  Utils.ConnectionClose(conn);
            }

  3. #3
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut
    Bon j'ai trouve la solution d'enregistrer l'info dans le viewstate.. je ne sais pas si c'est tres propre????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    protected void GV_Sorting(Object sender, GridViewSortEventArgs e)
        {
     
            using (NpgsqlConnection conn = new NpgsqlConnection(connectionString))
            {
                if (ViewState["sortDirection"] == null)
                    ViewState["sortDirection"] = SortDirection.Ascending;
                string monsens = ViewState["sortDirection"].ToString();
     
                DataTable madatatable = new DataTable();
                madatatable = Activite.GetActiviteAll(conn, TBnom.Text);
                string sens = GridView1.SortDirection.ToString();
     
                if (monsens == SortDirection.Ascending.ToString())
                {
                    madatatable.DefaultView.Sort = e.SortExpression + " ASC";
                    ViewState["sortDirection"] = SortDirection.Descending;
                }
                else
                {
                    madatatable.DefaultView.Sort = e.SortExpression + " DESC";
                    ViewState["sortDirection"] = SortDirection.Ascending;
                }
     
                /*if (e.SortDirection == SortDirection.Ascending)
                    GridView1.SortDirection = SortDirection.Descending;
                else
                    GridView1.SortDirection = SortDirection.Ascending;*/
     
     
                GridView1.DataSource = madatatable;
                GridView1.DataBind();
     
                Utils.ConnectionClose(conn);
     
            }
        }
    http://www.developpez.net/forums/d30...w/#post1882045

  4. #4
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    J'avoue ne pas du tout pouvoir te répondre, je ne connais pas le ViewState

    C'était juste pour ajouter que c'est possible de conserver des valeurs dans des variables globales, ou de session en asp.net...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/06/2009, 18h40
  2. [2.3.0] CrossTab tri des colonnes
    Par fredo38 dans le forum BIRT
    Réponses: 0
    Dernier message: 29/10/2008, 15h06
  3. Tri des colonnes au choix
    Par nora_ora dans le forum Oracle
    Réponses: 4
    Dernier message: 06/10/2005, 17h11
  4. [JTable] Tri des colonnes
    Par djskyz dans le forum Composants
    Réponses: 10
    Dernier message: 17/03/2005, 10h14
  5. Tri des colonnes d'une DBGRID
    Par Atrebate62 dans le forum Bases de données
    Réponses: 3
    Dernier message: 31/05/2004, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo