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 :

Creer une colonne dans une gridview et realiser un calcul avec le contenu d'une textbox.


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Creer une colonne dans une gridview et realiser un calcul avec le contenu d'une textbox.
    J'ai réalisé une gridview et j'ai créé une colonne (que je nomme par exemple Column 1) que j'obtiens en réalisant une opération de division entre le contenu de deux colonnes de la base de données. De cette gridview je souhaite ajouter une autre colonne (Column 2) dans laquelle le résultat stocké sera une opération de la sorte : Column 2 = Column 1* un coefficient contenu dans une textbox présente dans mon interface.

    Mon problème est que je n'arrive a créer la colonne (Column 2) et écrire la synthaxe pour réaliser le calcul en tenant compte du coefficient de la textbox.

    Merci pour votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2014
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 196
    Points : 331
    Points
    331
    Par défaut
    Pourrais tu poster ton code actuelle ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    voici mon code
    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
           <asp:TextBox ID="testm" runat="server" Width="85px"></asp:TextBox>
                      <asp:Button ID="Set" runat="server" Text="Button" />
     
     
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                DataKeyNames="Part_No" DataSourceID="SqlDataSource1">
                <Columns>
                    <asp:BoundField DataField="Part_No" HeaderText="Part_No" ReadOnly="True" 
                        SortExpression="Part_No" />
                    <asp:BoundField DataField="Description" HeaderText="Description" 
                        SortExpression="Description" />
                    <asp:BoundField DataField="SL_No" HeaderText="SL_No" SortExpression="SL_No" />
                    <asp:BoundField DataField="Eq_Description" HeaderText="Eq_Description" 
                        SortExpression="Eq_Description" />
                    <asp:BoundField DataField="Stock_OnHand" HeaderText="Stock_OnHand" 
                        SortExpression="Stock_OnHand" />
                    <asp:BoundField DataField="Standard_Qty" HeaderText="Standard_Qty" 
                        SortExpression="Standard_Qty" />
                    <asp:BoundField DataField="Serv_OnHand" HeaderText="Serv_OnHand" 
                        ReadOnly="True" SortExpression="Serv_OnHand" />
                </Columns>
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:MI_ConnectionString %>" 
                SelectCommand="SELECT Part_No, Description, SL_No, Eq_Description, Stock_OnHand, Standard_Qty, Stock_OnHand / Standard_Qty AS Serv_OnHand FROM Kits">
            </asp:SqlDataSource>
        </p>
    </asp:Content>
    Je compte créer une colonne tout juste a cote de la dernière colonne Serv_OnHand que je vais appeler Serv1. le contenu de Serv1 sera le produit des valeurs contenu dans Serv_OnHand multiplie par le pourcentage qui sera contenu dans la textbox testm. Le calcul s'executera apres un clic sur le bouton Set.

    Merci

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    Donc, c'est de l'ASP.Net (pour info, il y a un forum dédié)..


    GridView ==> Tu peux créer une colonne unbound avec le desginer... et voilà...

    Une fois que tu as fais celà, il suffit simplement d'alimenter le contenu de cette colonne avec ce que tu veux y mettre !!!
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci,

    J'ai une autre question pour la création de la colonne elle est de type BoundField ou Unbound ?

    Je vais me rendre sur le forum car mon problème se trouve justement au niveau de l'alimentation de la colonne et la réalisation du calcul. j'ai vu qu'il est possible de réaliser le calcul en utilisant un formulaire d'entrée des données et de la a chaque nouvelle donnée on effectue automatiquement le calcul.

    Mais dans mon cas je souhaite dans un premier extraire le contenu de la base de données dans le gridview et au final réaliser le calcul a partir d'un du click sur le bouton set.

    Merci encore pour votre aide.

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    unbound...

    et ensuite, tu as un évenement pour le datasource qui correspond à "Onselected" ou databound...

    Ce qui pourrait être l'évènement ou tu ferais ton calcul...
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Peux tu m'expliquer comment on crée une nouvelle colonne avec le designer. Car moi pour la création de la nouvelle colonne je fais un click droit sur le gridview et je choisis d'ajouter une nouvelle colonne et la j'ai une proposition sur le type de champ dans une liste déroulante (BoundField, Check BoxField....).
    Merci pour le temps accordé.

    Je ne sais si je ne suis pas bien ton explication.

    Thanks The Monz.

  8. #8
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    t'as qu'à suivre l'exemple :


    Ici
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci je suis le lien et je vais essayer de faire ça.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    J'ai essayé la méthode proposée et mais j'ai eu des difficultés à bien la cerner. Par contre j'ai essayé autre chose:

    J'ai crée un premier gridview qui recueille les informations dans la base de données puis je crée une textbox dans laquelle je vais stocker la valeur réelle que je vais multiplier par les éléments de la colonne Serv_OnHand. Puis je crée un second gridview dans lequel je vais uniquement stocker les informations nécessaires provenant du gridview 1 et la colonne de calcul mais en cliquant sur le bouton qui exécute la méthode je n'ai aucun résultat. La page se réactualise simplement à chaque clic.

    Voici mon code:

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Grid view for test.aspx.cs" Inherits="IMM.GridViews.Grid_view_for_test" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
        <p>
            This a grd view for&nbsp; a dynamical test of analysis data</p>
     
     
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                DataKeyNames="Part_No" DataSourceID="SqlDataSource1" 
                onselectedindexchanged="GridView1_SelectedIndexChanged">
                <Columns>
                    <asp:BoundField DataField="Part_No" HeaderText="Part_No" ReadOnly="True" 
                        SortExpression="Part_No" />
                    <asp:BoundField DataField="Description" HeaderText="Description" 
                        SortExpression="Description" />
                    <asp:BoundField DataField="SL_No" HeaderText="SL_No" SortExpression="SL_No" />
                    <asp:BoundField DataField="Eq_Description" HeaderText="Eq_Description" 
                        SortExpression="Eq_Description" />
                    <asp:BoundField DataField="Stock_OnHand" HeaderText="Stock_OnHand" 
                        SortExpression="Stock_OnHand" />
                    <asp:BoundField DataField="Standard_Qty" HeaderText="Standard_Qty" 
                        SortExpression="Standard_Qty" />
                    <asp:BoundField DataField="Serv_OnHand" HeaderText="Serv_OnHand" 
                        ReadOnly="True" SortExpression="Serv_OnHand" />
                </Columns>
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:MI_ConnectionString %>" 
                SelectCommand="SELECT Part_No, Description, SL_No, Eq_Description, Stock_OnHand, Standard_Qty, Stock_OnHand / Standard_Qty AS Serv_OnHand FROM Kits">
            </asp:SqlDataSource>
     
         <p>
            &nbsp;<asp:Label ID="Label2" runat="server" Text="Percentage"></asp:Label>
    &nbsp;&nbsp;&nbsp;
            <asp:TextBox ID="TextBox1" runat="server" Width="85px" ></asp:TextBox>
            <asp:Button ID="Button2" runat="server" Text="set" Click="Button2_Onclick" />
        </p>
        <p>
     
        <p>
     
            <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" 
                DataSourceID="SqlDataSource2">
                <Columns>
                    <asp:BoundField DataField="Part_No" HeaderText="Part_No" 
                        SortExpression="Part_No" />
                    <asp:BoundField DataField="Description" HeaderText="Description" 
                        SortExpression="Description" />
                    <asp:BoundField DataField="SL_No" HeaderText="SL_No" SortExpression="SL_No" />
                    <asp:BoundField DataField="Eq_Description" HeaderText="Eq_Description" 
                        SortExpression="Eq_Description" />
                    <asp:BoundField DataField="Serv_OnHand" HeaderText="Serv_OnHand" 
                        SortExpression="Serv_OnHand" />
                    <asp:BoundField DataField="Serv_Lev" HeaderText="Serv_Lev" 
                        SortExpression="Serv_Lev" />
                </Columns>
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
                ConnectionString="<%$ ConnectionStrings:MI_SLBConnectionString %>" 
                SelectCommand="SELECT * FROM [TableSL] ORDER BY [Eq_Description], [SL_No]">
            </asp:SqlDataSource>
        </p>
    </asp:Content>
    Et voici mon cs
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.Configuration;
    using System.Data;
    using System.Data.SqlClient;
     
    namespace IMM.GridViews
    {
        public partial class Grid_view_for_test : System.Web.UI.Page
        {
            private string strcon = WebConfigurationManager.ConnectionStrings["MI_SLBConnectionString"].ConnectionString;
            protected void Page_Load(object sender, EventArgs e)
            {
     
            }
            private void EndEditing()
            {
                Response.Redirect("Grid_view_for_test.aspx");
            }
     
     
            protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
            {
     
            }
            public string Serv_OnHand { get; set; }
     
            protected void testm_Text(object sender, EventArgs e)
            {
            }
            protected void Gridview1_ItemUpdating(object sender, GridViewEditEventArgs e)
            {
     
            }
     
     
     
            protected void Button2_OnClick(object sender, EventArgs e)
            {
                SqlConnection con = new SqlConnection(strcon);
                SqlCommand cmd = new SqlCommand("Select * from Kits", con);
                SqlDataAdapter adp = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                con.Open();
                adp.Fill(ds, "Kits");
                con.Close();
     
                foreach (DataRow r in ds.Tables["Kits"].Rows)
                {
                    SqlConnection con2 = new SqlConnection(strcon);
                    SqlCommand cmd2 = new SqlCommand("Insert into TableSL (Part_No, Description, SL_No, Eq_Description, Serv_OnHand, Serv_Lev) values(@Part_No, @Description,@SL_No, @Eq_Description, @Serv_OnHand, float.parse(testm.Text)*int.parse(Serv_OnHand)", con2);
                    con2.Open();
                    cmd2.Parameters.AddWithValue("@Part_No", r["Part_No"]);
                    cmd2.Parameters.AddWithValue("@Description", r["Description"]);
                    cmd2.Parameters.AddWithValue("@SL_No", r["SL_No"]);
                    cmd2.Parameters.AddWithValue("@Eq_Description", r["Eq_Description"]);
                    cmd2.Parameters.AddWithValue("@Serv_OnHand", r["Serv_OnHand"]);
                    cmd2.Parameters.AddWithValue("@float.parse(testm.Text)*int.parse(Serv_OnHand", r["Serv_Lev"].ToString());
                    cmd2.ExecuteNonQuery();
                    con2.Close();
                }
                GridView2.DataBind();
            }
     
     
        }
     
        }
    Please j'ai vraiment besoin d'aide ca me bloques depuis..... Merci

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/05/2011, 17h21
  2. Réponses: 1
    Dernier message: 07/04/2009, 16h32
  3. fixer la taille d'une colonne dans un gridview
    Par Khalid.bounouader dans le forum ASP.NET
    Réponses: 7
    Dernier message: 25/09/2008, 16h41
  4. Linker une colonne dans un gridview
    Par arnogb69 dans le forum VB.NET
    Réponses: 4
    Dernier message: 17/08/2007, 15h39
  5. Réponses: 4
    Dernier message: 30/06/2006, 15h26

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