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 :

[Datagrid]:Ajout de ligne dans mon datagrid


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut [Datagrid]:Ajout de ligne dans mon datagrid
    Bonjour tous,
    j'ai vraiment des problèmes avec la datagrid, et je n'arrive pas à m'en sortir. pouvez-vous m'aider svp? voici mes problèmes:
    premièrement, je voudrais ajouter des lignes à ma datagrid: elle n'Est liée à aucune base de données (pour l'isntant).
    Mon utilisateur saisie les données dans des textbox, clique sur un bouton et alors les données saisies sont affichées dans ma datagrid sur une nouvelle ligne. j'arrive à le faire, mais seulement une fois... à chaque fois que je clique sur mon bouton insérer, le contenu de ma datagrid se vide et seul la ligne que je viens d'ajouter s'affiche. Comment faire pour que madatagrid ne se vide pas?j'ai essayé de récuperer les données de ma datagrid avant l'ajout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataTable dt=(DataTable)monDatagrid.DataSource;
    Mais alors ça me donne une null exception. est ce que je le fait correctement? ou bien il est impossible d'Ajouter sans lier à un base de données?

    ouf pour ceux qui m'ont lu jusque là marci....

    deuxièmment, j'aimerais savoir comment faire pour mettre une radioButtonList dans une colonne d'un datagrid...Enfin, je suis capable de faire afficher ça: mon problème est que lorsque je clique sur une option de ma radioButtonList je voudrais pouvoir effectuer une opération (soit afficher ce qu'il y a dans les editTemplate de ma datagrid). Et ça, ben je n'Arrive pas à le faire, il n'y a aucun évènement qui se produit quand je clique sur cette radioButtonList et alors je n'arrive à rien
    savez vous commetn je pourrais faire cela?

    merci à ceux qui ont lu jusque là, et merci de m'Aider
    bye
    Shirya

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    une fois que ton tilisateur a saisi ses données il faut que tu ajoutes ces données dans ta datatable et cette datatable tu la fournis à ta datagrid. cette datatable il faut la mettre dans le cache ou bien tu la mets en variable static(le mieux étant dans le cache).
    en fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataTable dt=(DataTable)monDatagrid.DataSource;
    plante parce que le web est en mode déconnecté(tu soumets ta page, la connexion est répondu ensuite le serveur te répond). Le serveur ne stocke pas les objets c'est la raison pour laquelle tu as un nullexception.

    donc tu dis qu'aucun évenement n'est lancé lorsque tu cliques sur ta radiobuttonlist?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut
    Pour mon problème de radioButtonList, et bien voilà: je me suis créer une dataGrid avec comme colone une radioButtonList qui a comme otpion "Approuvé" et "Annulé", j'ai une deuxième colonne qui a comme "EditItemTemplate" un textBox.
    Voici le 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
     <asp:datagrid id="dgRapport" runat="server" Width="465px" CssClass="DATAGRID" AutoGenerateColumns="False"
                                        ForeColor="Black" BorderColor="Black" PageSize="5">
                                        <HeaderStyle CssClass="HEADERSTYLE"></HeaderStyle>
                                        <Columns>
                                            <asp:TemplateColumn HeaderText="Statut">
                                                <ItemTemplate>
                                                    <asp:RadioButtonList  RepeatDirection="Horizontal"
                                                        ID="rbStatut" Runat="server">
                                                        <asp:ListItem Value="approuve">Approuvé</asp:ListItem>
                                                        <asp:ListItem Value="annule">Annulé</asp:ListItem>
                                                    </asp:RadioButtonList>
                                                </ItemTemplate>
                                            </asp:TemplateColumn>
                                            <asp:TemplateColumn HeaderText="Explication">
                                                <ItemTemplate>
                                                </ItemTemplate>
                                                <EditItemTemplate>
                                                    <ew:maskedtextbox id="txtExplication" runat="server" width="75px" class="CHAMPSAISIE" />
                                                </EditItemTemplate>
                                            </asp:TemplateColumn>
                                        </Columns>
                                    </asp:datagrid>
    Imagisons que j'Ai ajouter des lignes dans mon datagrid (3). Je voudrais que lorsque mon utilisateur clique sur "Annulé" de mon radioButtonList, le textbox correspondant à la ligne selectionné s'affihce.
    Mon problème c'est que lorsque j'Execute ma page et que je clique sur une de mes radioButtonList...rien ne se passe, j'ai pourtant essayer avec l'évènement SelectedIndexChanged, mias celui-ci ne se déclenche pas . Alors comment faire?
    merci
    Psyk

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    ce que tu as mis comme code c'est texto ce qu'il y a dans ta page aspx?
    si c'est le cas il te manque l'evenement selectindexchanged de ta radiobuttonlist.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut
    oui c'Est exactement ce que j'ai ecrit dans ma page....mais mon evenement OnSelectedIndexChanged je lui met quoi comme valeur? le SelectedIndexChanged de ma datagrid? comment est ce que je fais ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <asp:RadioButtonList   AutoPostBack="True" RepeatDirection="Horizontal" OnSelectedIndexChanged="dgRapport_SelectedIndexChanged"
    													ID="rbStatut" Runat="server">
    quelque chose du genre? mais est ce qu'il va quand savoir la ligne selectionner et tout?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    dans le selectindexchanged tu mets celui qui correspond à ta radiobuttonlist.
    pour connaitre la ligne essaye de voir si tu as la propriété bindingcontainer dans ta radiobuttonlist. ca te permettra de savoir sur quelle ligne tu te trouves.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut
    dans le selectindexchanged tu mets celui qui correspond à ta radiobuttonlist.
    pour connaitre la ligne essaye de voir si tu as la propriété bindingcontainer dans ta radiobuttonlist. ca te permettra de savoir sur quelle ligne tu te trouves.
    Non je n'ai pas trouvé la propriété bindingcontainer mais voici ce que j'ai réussi à faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <asp:RadioButtonList  AutoPostBack="True" RepeatDirection="Horizontal" OnSelectedIndexChanged="ChangerStatut"
    													ID="rbStatut" Runat="server">
    c'Est que j'ai mis comme radiobuttonlist, et donc lorsque l'index sélectionné change, j'appeller la fonction changerStatut. et voici ma fonction changerStatut:
    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
    public void ChangerStatut(object sender,EventArgs e) 
    		{	
     
    			string sRbText="";
    			RadioButtonList rb = new RadioButtonList();
    			int cpt = 0;
    			rb = (RadioButtonList) sender;
    			sRbText = rb.ClientID;
     
     
    			foreach (DataGridItem it in dgRapport.Items) 
    			{
     
    				rb  = (RadioButtonList) it.FindControl ("rbStatut");
     
     
    				if (sRbText==rb.ClientID)
    				{
    					if (rb.SelectedValue=="annule")
    					{
    						dgRapport.EditItemIndex=cpt;
    					}
    					else
    					{
    						dgRapport.EditItemIndex=-1;
    					}
     
     
     
    				}
    				cpt=cpt+1;
    			}
    		}
    ça marche, mais tout croche: le textbox s'affiche aléatoirement, il s'affiche quand je clique sur l'option approuvé par exemple, ou bien il n'affiche pas le texbox à la bonne place, il va par exemple l'afficher à la ligne d'avant ou d'après......
    Pourtant quand j'y vais avec le debug, je me rend compte que ça devrait fonctionner parfaitement mais ce n'Est pas le cas

    est ce que j'ai fait un erreur dans mon code??

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/05/2012, 09h31
  2. Ajout de ligne dans une datagrid ou gridview
    Par thierry007 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 16/11/2007, 09h23
  3. Ajouter des lignes dans un datagrid
    Par gibea00 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/07/2007, 13h20
  4. Événement d'ajout de ligne dans un Datagrid!
    Par Jean_dick15 dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/05/2007, 17h17
  5. [1.1] Ajouter une ligne dans un dataGrid
    Par Khrysby dans le forum ASP.NET
    Réponses: 3
    Dernier message: 23/02/2007, 13h36

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