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

ASP.NET Discussion :

un événement Sorting qui n'était pas géré


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Par défaut un événement Sorting qui n'était pas géré
    Bonjour tout le monde je fais mes premier pas en asp.net mon problème je pense qu'il est assez silmple pour des gens pro comme vous en fait j'ai cette erreur qui se déclanche dans cette methode
    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
    <script runat="server">
      void SortButton_Click(Object sender, EventArgs e)
      {
    
        String expression ="";
        SortDirection direction;
        expression = DropDownList1.SelectedValue;
        switch (DirectionList.SelectedValue)
        {
            case "Ascendant":
            direction = SortDirection.Ascending;
            break;
        case "Descendant":
            direction = SortDirection.Descending;
            break;
          default:
            direction = SortDirection.Ascending;
            break;
        }
       GridView1.Sort(expression, direction );
       }
    
    </script>
    bon ce que je sais qu'il faut une methode pour l'evenement onSorting mais ce bout de code je l'ai trouvé sur le site msdn de microsoft et dans leurs gridView comme le mien ils n'ont pas utilisé l'evenement onSroting !!! thanks for all

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    Salut !

    D'abord ce serait pas mal d'avoir l'erreur. Ensuite tu ne peux pas utiliser sort() sur un GridView mais sur les donnees qu'il contient. Ta variable GridView1 semble indiquer que c'est l'erreur que tu fais.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Par défaut
    merci en fait pour l'erreur c'est :
    Le GridView 'GridView1' a déclenché un événement Sorting qui n'était pas géré.
    pour le sort c'est une methde de la gridview !!! j'ai pas bien compris comment je peux pas l'utiliser ??

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    Oui en effet c'est moi qui hallucine tu peux bien l'utiliser comme ca.
    Tu peux montrer ton dropdownlist et ton gridview ? En particulier la datasource ...

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Par défaut
    bon pour le datasource c'est une classe BLL voilà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ProduitBLL ClaimL = new ProduitBLL();
            GridView1.DataSource = ClaimL.GetProduitNonvalide();
            GridView1.DataBind();
    mon gridview le voilà et
    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
     
            <asp:GridView ID="GridView1" AutoGenerateColumns ="False" runat="server"
            AllowPaging="True"  CellPadding="4"    PageSize="1" 
          OnPageIndexChanging ="GridView1_PageIndexChanging" emptydatatext="No data available.">
        <Columns>
                <asp:TemplateField ShowHeader="False" HeaderImageUrl="~/App_Themes/Default/status_warning.gif">
                    <ItemTemplate>
                      <asp:ImageButton ID="ImageButton1" OnClick ="Valider_Click" runat="server"  ImageUrl="../App_Themes/Default/green2.gif" AlternateText="Valider" />
                      |
                      <asp:ImageButton ID="ImageButton2" OnClick ="Refuser_Click" runat="server" ImageUrl="../App_Themes/Default/red2.gif" AlternateText="Refuser" />
                     </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField ="Reference_Commerciale" HeaderText ="Appareil" />
                    <asp:BoundField DataField ="Reference_Technique" HeaderText ="PNC" />
                    <asp:BoundField DataField ="Num_Serie_Date_Fabrication" HeaderText ="Num Série" />
                    <asp:BoundField DataField="Date_Achat" HeaderText="Date d'achat" DataFormatString="{0:MM/dd/yy}" />
                            </Columns>
    </asp:GridView>
    mon dropdownlist :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <asp:DropDownList ID="DropDownList1" runat="server">
        <asp:listitem Selected="True" Value="Date_Achat">Date d'achat</asp:listitem>
                  <asp:listitem>Date Fin</asp:listitem>
                  <asp:listitem>Date d'appel</asp:listitem>
         </asp:DropDownList>
     
        <asp:DropDownList ID="DirectionList" runat="server">
        <asp:listitem Selected="True" >Ascendant</asp:listitem>
        <asp:listitem>Descendant</asp:listitem>
        </asp:DropDownList>
    juste pour savoir je teste seulement la 1er valeur du ma dropdownlist1 c'est à dire la date d'achat !!!
    voilà la vous avez le tout mercii

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    C'est pas un souci avec le format de la date ? Rajoute ca : HtmlEncode="false" pour le champ de ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:BoundField DataField="Date_Achat" HeaderText="Date d'achat" DataFormatString="{0:MM/dd/yy}" />

    Sinon teste voir sur une autre colonne ayant un autre type de donnee : un bete string par exemple.

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Par défaut
    non même pour un simple string ça ne marche pas !!

  8. #8
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    A quel evenement tu t'abonnes pour declencher SortButton_Click ?

    Ne dois t'on pas declare Allowsorting=true ou quelque chose du genre dans la declaration de ta gridview?

  9. #9
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Par défaut
    c'est le bouton sort qui déclanche le script voici le code aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <asp:button id="SortButton"
            text="Sort"
            onclick="SortButton_Click" 
            runat="Server"/>
    je pense que le problème c'est mon datasource !!! qui m'oblige à créer un événement onSorting !!!!!

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Par défaut
    Toujours sous l'espoir de trouver une solution j'ai déclarer une méthode qui capte l'evenement onsorting et l'erreur n'y est plus !! mais le problème que je sais pas quoi ecrire dans cette methode !!! un databind !!!non ça marche ??

    j'ai fait la même chose avec la pagination et ma méthdoe pageindexchanging mais là je trouve pas quoi ecrire dans la méthode sorting !!!!!

    une idée svp !!!

  11. #11
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    tu peux faire un bouton Sorting_click, seulement dans ce cas là il faut que tu refasse ta requête et que tu bind cette nouvelle requete à ton grid ou ta datalist.

    Je ne sais pas ou est ta source de donnée qui rempli ton gridview mais si tu l'affecte dans ta page aspx, c'est tjs celle ci qui est appelé, il faut le faire en code behind

  12. #12
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Par défaut it's ok !!
    Finalement j'ai trouvé la solution je remercie tout le monde par l'occasion je me félicite
    en fait il fallait ajouter ce bout de code dans la methode sorting
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DataTable dataTable = GridView1.DataSource as DataTable;
            if (dataTable != null)
            {
                DataView dataView = new DataView(dataTable);
                dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);
     
                GridView1 .DataSource = dataView;
                GridView1 .DataBind();
            }
    comme vous voyez il y a une méthode de converstion en sql
    je vous met le code aussi
    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
     
      private string ConvertSortDirectionToSql(SortDirection sortDirection)
        {
            string newSortDirection = String.Empty;
     
            switch (sortDirection)
            {
                case SortDirection.Ascending:
                    newSortDirection = "ASC";
                    break;
     
                case SortDirection.Descending:
                    newSortDirection = "DESC";
                    break;
            }
            return newSortDirection;
        }
    et ça marche ! juste pour précision mon data source est dans ma page aspx.cs donc je suis obligé de tout gèrer tout seul !! merci

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

Discussions similaires

  1. Évènement onclick qui ne fonctionne pas avec FireFox
    Par kilian67 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 19/09/2008, 11h34
  2. Gestion d'événements qui ne marche pas
    Par shkyo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/01/2008, 15h57
  3. Réponses: 2
    Dernier message: 04/01/2007, 16h48
  4. [JFrame] événement qui ne prend pas
    Par Ymer dans le forum Agents de placement/Fenêtres
    Réponses: 9
    Dernier message: 24/11/2004, 13h54

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