Accueil > Forum > > > > evenement ajouter une ligne dans une datagrid
evenement ajouter une ligne dans une datagrid
mercredi 2 juin 2004 à 10:20:31 |
evenement ajouter une ligne dans une datagrid

mdelahais
|
Bonjour à tous, Je rempli une datagrid gràace à une requête sur une table. La première donnée de ma datagrid est la clé. Je peux également ajouter ou modifier les données directement depuis la datagrid. Mais il me reste un petit problème. Si j'ajoute une nouvelle ligne, il faut que j'ajoute la clé. Mais je voudrai que la clé soit calculée de manière à éviter de remettre une clé existant déjà. Pour cela, je pensai calculer la clé dès qu'on ajoute une ligne, mais je n'arrive pas à trouver quel évenement y correspond? Merci de votre aide Matthieu
|
|
mercredi 2 juin 2004 à 10:50:31 |
Re : evenement ajouter une ligne dans une datagrid

gaa179
|
Salut,
Sur l'évènement OnAddNew(), j'ajoute la valeur dans le champ du recordset qui est utlisé comme DataSource du Datagrid.
Private Sub DataGrid1_OnAddNew() 'Ajoute la relation vers la facture With RsArtFactSub If IsNull(!Id_Fact) Then !Id_Fact = TId_Facture.Text End If End With
End Sub
A+
|
|
mercredi 2 juin 2004 à 11:04:48 |
Re : evenement ajouter une ligne dans une datagrid

mdelahais
|
J'ai oublié de préciser que je bossais sur vb.net... le OnAddNew n'existe pas dans la liste des évenements proposés. J'ai tout de même essayé, mais ça ne marche pas... Tu n'as pas une autre idée? Merci
|
|
mercredi 2 juin 2004 à 15:14:31 |
Re : evenement ajouter une ligne dans une datagrid

lejuif
|
Utilises tu un DataAdapter et un dataset? Y'a t'il un compteur automatique sur ta clef?
|
|
mercredi 2 juin 2004 à 15:26:34 |
Re : evenement ajouter une ligne dans une datagrid

mdelahais
|
Je fais ma requête avec un dataset et un dataadapter. Ensuite, je le place dans un tablestyle que je charge dans la tablesytle de ma datagrid parce que j'ai utilisé des combobox dans ma datagrid. Par contre, il n'y a pas de compteur automatique.
Sinon, j'étais parti sur une autre solution : 1. je compte le nb de lignes ds ma datagrid 2. qd je clique sur la datagrid, je regarde si c'est une nouvelle ligne gràace au nb de lignes que j'ai compté en & 3. Si c'est une nouvelle ligne, je calcule la nouvelle clé et je l'insère dans la datagird... Maintenant, je cherche comment placé une valeur dans une datagird en fonction de ses coordonnées (1ere colonne, derniere ligne)
|
|
mercredi 2 juin 2004 à 17:37:37 |
Re : evenement ajouter une ligne dans une datagrid

lejuif
|
tu peux aussi creer une ouvelle ligne dans ton dataset
dim newrow as nomDataset.NomTableRow = monDataSet1.NEWnomTableROW (nomDataSet1 correspond a l'instance du dataset, nomdataset est l'objet)
ensuite tu remplis les champs que tu as besoin dans ta ligne de dataset (dont ta clef, par ex newrow.clef = X)
Puis tu rajoutes la ligne au dataset nomdatasets.nomTable.add(newrow)
(puis NomdataAdapter.update(nomDataset1) uniquement si tu veux mettre la base de données a jour en fonction des données de ton dataset)
et tu finis par NomDatagrid.databind() (pour remplir le datagrid avec les données de ton dataset)
Ps : avec cette méthode il est possible de remplir les valeurs directement dans la datagrid mais pour cela il faut utiliser le EditItemindex du datagrid . Si besoin je peux toujours poster du code source pour que ce soit plus clair)
Voila j'espere que ça te sera utile
Sinon tu peux toujours utiliser les evenements ItemCommand (il faudra alors données des comands names a certains objets de ton datagrid comme des boutons par exemple) ou updateCommand (nécessite un objet ayant un commandName="Update")
|
|
jeudi 10 juin 2004 à 09:41:30 |
Re : evenement ajouter une ligne dans une datagrid

mdelahais
|
Oui, si éventuellement tu avais du code source, ça pourrait m'aider. Merci
|
|
jeudi 10 juin 2004 à 16:08:18 |
Re : evenement ajouter une ligne dans une datagrid

lejuif
|
Voila un exemple de page ,en esperant que cela t'aide
************************************************* ********************code vb*********************** <code> Sub genererDgRemise_Facturefournisseur() daRemise_FactureFournisseur.SelectCommand.Parameters("@facturefournisseur_id").Value = facturefournisseur_id daRemise_FactureFournisseur.Fill(DsRemise_facturefournisseur1) dgRemise_FactureFournisseur.DataBind()
End Sub
Private Sub dgRemise_FactureFournisseur_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgRemise_FactureFournisseur.CancelCommand dgRemise_FactureFournisseur.EditItemIndex = -1 Call genererDgRemise_Facturefournisseur() Call desactiverbouton() End Sub
Private Sub dgRemise_FactureFournisseur_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgRemise_FactureFournisseur.DeleteCommand
daRemise_FactureFournisseur.SelectCommand.Parameters("@facturefournisseur_id").Value = facturefournisseur_id daRemise_FactureFournisseur.Fill(DsRemise_facturefournisseur1) DsRemise_facturefournisseur1.FactureFournisseurRemise.FindByFactureFournisseurRemise_id(CInt(dgRemise_FactureFournisseur.DataKeys(e.Item.ItemIndex))).Delete() daRemise_FactureFournisseur.Update(DsRemise_facturefournisseur1) Call genererDgRemise_Facturefournisseur()
End Sub
Private Sub dgRemise_FactureFournisseur_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgRemise_FactureFournisseur.EditCommand daRemise_FactureFournisseur.SelectCommand.Parameters("@facturefournisseur_id").Value = facturefournisseur_id daRemise_FactureFournisseur.Fill(DsRemise_facturefournisseur1) dgRemise_FactureFournisseur.EditItemIndex = e.Item.ItemIndex
Call genererDgRemise_Facturefournisseur()
End Sub
Private Sub dgRemise_FactureFournisseur_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgRemise_FactureFournisseur.UpdateCommand
daRemise_FactureFournisseur.SelectCommand.Parameters("@facturefournisseur_id").Value = facturefournisseur_id daRemise_FactureFournisseur.Fill(DsRemise_facturefournisseur1)
Dim tbdesignation As TextBox = CType(e.Item.FindControl("tbdesignation"), TextBox) Dim tbmontant As TextBox = CType(e.Item.FindControl("tbmontant"), TextBox) If Not IsNothing(tbdesignation) Then Dim rowchange As dsRemise_facturefournisseur.FactureFournisseurRemiseRow = DsRemise_facturefournisseur1.FactureFournisseurRemise.FindByFactureFournisseurRemise_id(CInt(dgRemise_FactureFournisseur.DataKeys(e.Item.ItemIndex)))
If IsNothing(rowchange) Then Dim rownew As dsRemise_facturefournisseur.FactureFournisseurRemiseRow = DsRemise_facturefournisseur1.FactureFournisseurRemise.NewFactureFournisseurRemiseRow With rownew .FactureFournisseur_id = facturefournisseur_id .Montant = CDbl(Replace(tbmontant.Text, ",", ".")) .Designation = tbdesignation.Text End With DsRemise_facturefournisseur1.FactureFournisseurRemise.Rows.Add(rownew) Else With rowchange .Designation = tbdesignation.Text .Montant = CDbl(Replace(tbmontant.Text, ",", ".")) End With
End If
daRemise_FactureFournisseur.Update(DsRemise_facturefournisseur1) DsRemise_facturefournisseur1.Clear() End If dgRemise_FactureFournisseur.EditItemIndex = -1 Call activerbouton()
Call genererDgRemise_Facturefournisseur()
End Sub
Private Sub dgRemise_FactureFournisseur_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgRemise_FactureFournisseur.ItemDataBound Call appliquerstyledg(e) Call CalculerMontantTTC(e) End Sub
Private Sub btnAjout_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnAjout.Click Call desactiverbouton()
Dim RowNew As dsRemise_facturefournisseur.FactureFournisseurRemiseRow = DsRemise_facturefournisseur1.FactureFournisseurRemise.NewFactureFournisseurRemiseRow With RowNew .Designation = "" .Montant = 0 .FactureFournisseur_id = facturefournisseur_id End With
DsRemise_facturefournisseur1.FactureFournisseurRemise.Rows.Add(RowNew)
dgRemise_FactureFournisseur.EditItemIndex = 0 Call genererDgRemise_Facturefournisseur() End Sub </code>
************************************************** ****************code html correspondant**************
<Code>
<ASP:IMAGEBUTTON id="btnAjout" runat="server" ImageUrl="/gda_v3/common/image/butajout1.jpg"></ASP:IMAGEBUTTON></H4> <P><asp:DataGrid id=dgRemise_FactureFournisseur runat="server" DataSource="<%# DsRemise_facturefournisseur1 %>" DataMember="FactureFournisseurRemise" DataKeyField="FactureFournisseurRemise_id" AutoGenerateColumns="False" SHOWFOOTER="True"> <COLUMNS> <ASP:TEMPLATECOLUMN HeaderText="Désignation"> <ITEMTEMPLATE> <asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Designation") %>'> </ASP:LABEL> </ITEMTEMPLATE> <EDITITEMTEMPLATE> <asp:TextBox id=tbdesignation runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Designation") %>'> </ASP:TEXTBOX> <ASP:REQUIREDFIELDVALIDATOR id="RequiredFieldValidator1" runat="server" ErrorMessage="Entrer une désignation" ControlToValidate="tbdesignation">*</ASP:REQUIREDFIELDVALIDATOR> </EDITITEMTEMPLATE> </ASP:TEMPLATECOLUMN> <ASP:TEMPLATECOLUMN HeaderText="Montant"> <ITEMTEMPLATE> <asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Montant", "{0:C}") %>'> </ASP:LABEL> </ITEMTEMPLATE> <FOOTERTEMPLATE> <ASP:LABEL id="lblMontantTotal" runat="server">0 ?</ASP:LABEL> </FOOTERTEMPLATE> <EDITITEMTEMPLATE> <asp:TextBox id=tbMontant runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Montant") %>'> </ASP:TEXTBOX>? <ASP:REQUIREDFIELDVALIDATOR id="RequiredFieldValidator2" runat="server" ControlToValidate="tbMontant" ErrorMessage="Entrer un montant">*</ASP:REQUIREDFIELDVALIDATOR> <ASP:REGULAREXPRESSIONVALIDATOR id="RegularExpressionValidator1" runat="server" ControlToValidate="tbMontant" ErrorMessage="Le montant entré est incorrect" ValidationExpression="\d*(,\d{1,2}|\.\d{1,2}|)">*</ASP:REGULAREXPRESSIONVALIDATOR> </EDITITEMTEMPLATE> </ASP:TEMPLATECOLUMN> <ASP:TEMPLATECOLUMN> <ITEMTEMPLATE> <ASP:IMAGEBUTTON id="btnEdit" ImageUrl="/gda_v3/common/image/butedit1.jpg" runat="server" CommandName="Edit"></ASP:IMAGEBUTTON> <ASP:IMAGEBUTTON id="btnDelete" ImageUrl="/gda_v3/common/image/butsup1.jpg" runat="server" CommandName="Delete" CausesValidation="False"></ASP:IMAGEBUTTON> </ITEMTEMPLATE> <EDITITEMTEMPLATE> <ASP:IMAGEBUTTON id="btnValider" ImageUrl="/gda_v3/common/image/butvalider1.jpg" runat="server" CommandName="Update"></ASP:IMAGEBUTTON> <ASP:IMAGEBUTTON id="btnCancel" ImageUrl="/gda_v3/common/image/butannuler1.jpg" runat="server" CommandName="Cancel" CausesValidation="False"></ASP:IMAGEBUTTON> </EDITITEMTEMPLATE> </ASP:TEMPLATECOLUMN> </COLUMNS> </ASP:DATAGRID></P>
</code>
|
|
Cette discussion est classée dans : ligne, ajouter, datagrid, clé, ajoute
Répondre à ce message
Sujets en rapport avec ce message
Evenement ajouter une ligne dans une datagrid [ par mdelahais ]
Bonjour,J'ai une petite question. J'ai affiché le contenu d'une table (en fait, une partie de la table sur une requête) dans une datagrid et je souhai
Evenement ajouter une ligne dans un datagrid [ par mdelahais ]
Bonjour,Je travaille sous vb.net 2003.J'ai chargé le contenu d'une table dans un datagrid. Une fois la datagrid chargée, j'ai la possibilité d'ajouter
curseur d'un datagrid ... [ par 187bundy ]
Slt ;-)Voici mon pb : Quand j'ajoute une ligne dans mon DataGrid et que le nombre de lignes dépace la taile affichée du DataGrid, une barre de défilem
URGENT: Comment faire pour ajouter une ligne dans un Datagrid avec les données qui vont avec? [ par Tioneb ]
Salut,alors voilà déjà je n'y comprend rien aux bases de données Access, SQL, etc . Du coup j'ai pensé à un système perso de base de donnée. Bon là n'
Empecher l'utilisateur d'ajouter une ligne dans un DataGrid [ par wedge69 ]
Salut,Je suis étudiant, actuellement en stage et je rencontre un problème.Je travaille sous VB net.Voilà, j'ai créé un Datagrid dans lequel, j'ai affi
ajouter ligne a un datagrid de X colonnes [ par tump ]
Je suis desespereejai un probleme pour ajouter des lignes a mon datagrid, sachant que je ne sais pas combien il contient de colonnesmatable.Rows.Add(N
DataGrid [ par pjouy ]
Bonjour,Je crée une DataGridView en code. J'y ajoute une colonne qui contient plusieurs lignes. Jusque là, facile.Je souhaite y ajouter une valeur que
DataGrid VB6 [ par delaux ]
Bonjour,J'ai un problème avec un DataGrid.Je souhaite offrir la possibilité d'ajouter une ligne dans le datagrid.Pour celà, je met la propriété AllowA
Colorer DataGrid + Pas d'insert [ par jobtunisieyasser ]
Je n'arrive pas à trouver le bon code pour colorer des ligne dans une Data Grid.Je cherche aussi à supprimer la ligne vide qui s'ajoute automatiquemen
DataGrid et sélection d'une ligne [ par dheroux ]
Bonjour,Je travaille dans un Datagrid non couplé à un DataSet.Connaissant l'index d'une ligne du DataGrid, je voudrais que celle-ci soit sélectionnée
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|