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 :

Effectuer une somme sur un champ de mon DataSource


Sujet :

ASP.NET

  1. #1
    Membre régulier Avatar de miniil
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 267
    Points : 76
    Points
    76
    Par défaut Effectuer une somme sur un champ de mon DataSource
    Bonjour,

    J'ai un EntityDataSource sur ma page. Les lignes sont affichées dans un GridView et je possède quelques filtre permettant de filtrer ces lignes.

    J'aimerai pouvoir faire une addition sur un champs des lignes sélectionnées via le filtre.

    Est-ce possible?

    D'avance merci.
    miniil

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    A priori oui, mais il faudrait voir comment est-ce que tu as configuré ton EntityDataSource. Peux-tu poster ton code STP ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre régulier Avatar de miniil
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 267
    Points : 76
    Points
    76
    Par défaut
    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
    <asp:EntityDataSource ID="IncidentsEntityDataSource" runat="server" 
            ConnectionString="name=RFCKPIEntities" DefaultContainerName="RFCKPIEntities" 
            EnableDelete="True" EnableFlattening="False" EnableUpdate="True" 
            EntitySetName="INCIDENTS" Include="SITE,CATEGORY,REASON,SERVICE,DIRECT_REASON,SEVERITY,UNAVAILABILITY,RI,CLIENT_IMPACT"
            Where="" AutoGenerateWhereClause="true" onselected="IncidentsEntityDataSource_Selected"
            >
            <WhereParameters>
                <asp:ControlParameter ControlID="filterSite" Name="I_SITE_ID" PropertyName="SelectedValue" DbType="Int32" />
                <asp:ControlParameter ControlID="filterCategory" Name="I_CATEGORY_ID" PropertyName="SelectedValue" DbType="Int32" />
                <asp:ControlParameter ControlID="filterReason" Name="I_REASON_ID" PropertyName="SelectedValue" DbType="Int32" />
                <asp:ControlParameter ControlID="filterService" Name="I_SERVICE_ID" PropertyName="SelectedValue" DbType="Int32" />
                <asp:ControlParameter ControlID="filterYear" Name="I_YEAR" PropertyName="SelectedValue" DbType="Int32" />
                <asp:ControlParameter ControlID="filterMonth" Name="I_MONTH" PropertyName="SelectedValue" DbType="String" />
            </WhereParameters>
        </asp:EntityDataSource>

    J'ai déjà un événement onselected via lequel je récupère le nombre de lignes sélectionnées.

    J'ai tenté de récupérer mon champs via une boucle dans cet événement mais le loop ne prend que 5 lignes en compte qui est la valeur de mon pagesize dans mon gridview.

    Voici le code de mon onselected actuel

    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
     
    protected void IncidentsEntityDataSource_Selected(object sender, EntityDataSourceSelectedEventArgs e)
            {
                int recordCount = e.TotalRowCount;
                labelRecordCount.Text = Convert.ToString(recordCount);
     
                List<DAL.INCIDENTS> i = e.Results.Cast<DAL.INCIDENTS>().ToList();
     
                foreach(DAL.INCIDENTS incident in i)
                {
                    System.Console.Write("" + Convert.ToInt32(incident.I_DURATION));
                    int s = Convert.ToInt32(i[1].I_DURATION);
                }
     
            }
    miniil

  4. #4
    Membre actif Avatar de Olivier P.
    Homme Profil pro
    Développeur Front-End chez un éditeur logiciel
    Inscrit en
    Octobre 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Front-End chez un éditeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 83
    Points : 206
    Points
    206
    Par défaut
    Bonjour,

    Vous pouvez intervenir sur l'évènement RowDataBound de la GridView.
    MCTS Microsoft 70-536
    MCTS Microsoft 70-515

  5. #5
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Soit en utilisant la solution d'Olivier P., soit en le faisant en SQL like dans la propriété Select. il faudra aussi ne pas oublier de définir la propriété GroupBy :
    Code ASP.NET : 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
    <asp:EntityDataSource ID="IncidentsEntityDataSource" runat="server" 
            ConnectionString="name=RFCKPIEntities" DefaultContainerName="RFCKPIEntities" 
            EnableDelete="True" EnableFlattening="False" EnableUpdate="True" 
            EntitySetName="INCIDENTS" Include="SITE,CATEGORY,REASON,SERVICE,DIRECT_REASON,SEVERITY,UNAVAILABILITY,RI,CLIENT_IMPACT"
            Where="" AutoGenerateWhereClause="true" onselected="IncidentsEntityDataSource_Selected"
            Select="it.[Champ1], SUM(it.[Champ2]) AS Champ2" GroupBy="it.[Champ1]"
            >
            <WhereParameters>
                <asp:ControlParameter ControlID="filterSite" Name="I_SITE_ID" PropertyName="SelectedValue" DbType="Int32" />
                <asp:ControlParameter ControlID="filterCategory" Name="I_CATEGORY_ID" PropertyName="SelectedValue" DbType="Int32" />
                <asp:ControlParameter ControlID="filterReason" Name="I_REASON_ID" PropertyName="SelectedValue" DbType="Int32" />
                <asp:ControlParameter ControlID="filterService" Name="I_SERVICE_ID" PropertyName="SelectedValue" DbType="Int32" />
                <asp:ControlParameter ControlID="filterYear" Name="I_YEAR" PropertyName="SelectedValue" DbType="Int32" />
                <asp:ControlParameter ControlID="filterMonth" Name="I_MONTH" PropertyName="SelectedValue" DbType="String" />
            </WhereParameters>
        </asp:EntityDataSource>
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. Effectuer une somme sur un intervalle de dates
    Par LouFeq dans le forum Développement
    Réponses: 2
    Dernier message: 24/10/2013, 14h02
  2. Réponses: 39
    Dernier message: 11/01/2007, 11h31
  3. Réponses: 9
    Dernier message: 04/01/2007, 11h58
  4. [Oracle] jointures avec une somme sur deux champs
    Par guggus dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/10/2006, 17h06
  5. une requete effectuant une recherche sur tous les champs
    Par raynor911 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/02/2006, 15h06

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