Accueil > Forum > > > > DATAGRID : Bouton Ajouter, Modifier, Supprimer
DATAGRID : Bouton Ajouter, Modifier, Supprimer
lundi 30 mai 2005 à 17:06:41 |
DATAGRID : Bouton Ajouter, Modifier, Supprimer

Templar_net
|
Bonjour à tous, Je suis sur .NET 2003 depuis quelques jours pour developper une petite application Web avec une base de données SQL 2000. Je suis bien sur débutant dans ce domaine et je dois très vite réaliser cette application.
J'ai plusieurs livres pour m'aider : Formation à ASP.NET (Fourni avec le logiciel) = Livre 1 Guide pas à pas (Fourni avec le logiciel) = Livre 2 ASP .NET (Micro - application) = Livre 3
Le premier test que je veux realiser est tout simple : J'ai une table COMPAGNIE qui contient un identifiant et un libellé. Je veux donc avoir mon datagrid sur ma page ASPX qui m'affiche l'identifiant et le libellé, avec, devant, le bouton modifier qui devient ensuite mettre à jour / Annuler, comme on peut le voir sur l'exemple page 618 du livre 3 ou 368 du livre 2.
Ma base de données est faite et j'ai suivi la procédure du livre 1 pour mon application WEB APS.NET donc : ajout d'un composant, création d'un SqlDataAdapter, puis utilisation du générateur de requetes. J'ai donc mon sqldataAdapter1 et mon sqlConnection1 qui sont créés. Ensuite je crée le myDataSet.xsd, puis mon myDataSet1 et j'ajoute les lignes de code comme indiqué dans le livre 1. Et finalement j'ajoute mon DataGrid sur ma page ASPX. Et c'est là ou ca se complique : dans le générateur de propriétés, je choisis "colonne bouton" et le type "modifier, mettre à jour, annuler".
Quand je demande d'afficher dans mon naviguateur, j'ai bien les 2 compagnies que j'ai entré dans la BD et devant le bouton modifier qui apparaît. Bien sur quand je clique dessus rien ne se passe car le code n'est pas associé.
J'utilise donc a partir de ce moment la, les livre 2 et 3 dans lesquels je constate qu'il faut ajouter dans le code HTML les onCancelCommant="MondataGrid_Cancel", onEditCommand="MonDataGrid_Edit", ... etc qui vont appeler mes fonctions.
Le seul souci c'est que dans ces deux livres, les codes sont mis SUR la page ASPX en mettant un <script> </script>, alors que pour ma part j'ai une page en plus ASPX.VB qui contient deja mon "page_load" par exemple. Donc il serait plus judicieux de mettre tout mon code labas, ... mais ca ne marche pas. Exemple : Public Sub MonDataGrid_Cancel(ByVal source As System.Object, ByVal e As DataGridCommandEventArgs) DataGrid1.EditItemIndex = -1 DataGrid1.DataBind() End Sub
De plus pour les boutons supprimer et insert, j'ai vu qu'il y avait un code de généré dans mon coponent et qui s'appelle, "sqlDeleteCommand1", "sqlUpdateCommand1", ... etc Exemple : 'SqlInsertCommand1 ' Me.SqlInsertCommand1.CommandText = "INSERT INTO Compagnie(libelle_compagnie) VALUES (@libelle_compagnie); SELECT id_c" & _ "ompagnie, libelle_compagnie FROM Compagnie WHERE (id_compagnie = @@IDENTITY)" Me.SqlInsertCommand1.Connection = Me.SqlConnection1 Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@libelle_compagnie", System.Data.SqlDbType.VarChar, 50, "libelle_compagnie")) '
Donc ma question est de savoir : est-ce que quelqu'un sait comment je peux avoir mes boutons qui fonctionne correctement en passant par ma page aspx.vb (Modifier, mettre à jour, annuler dans un premier temps) et mon composant (les requete Insert, Delete) pour ne pas avoir à me retaper tout le code en script dans un deuxième temps, ... ?
Car je trouve que ces deux moyens sont pratiques est facile d'utilisation, donc pourquoi ne pas s'en resservir plutot que d'aller mettre son code dans un script ???
J'espère avoir détaillé assez mon souci si vous voulez plus de détail ou que je vous communique mon code c'est possible.
|
|
lundi 30 mai 2005 à 17:53:25 |
Re : DATAGRID : Bouton Ajouter, Modifier, Supprimer

jesusonline
|
Réponse acceptée !
héhé le bouquin de Richard puis le bouquin pas à pas de Ms press ;-) c'est pour moi les deux meilleurs qui existent en francais sur asp.net bien que celui de Richard est justement un peu limite niveau accés au base de données, et pour travailler avec VS.net, d'ou ton problème avec le code behind (le fichier aspx.vb) j'ai pas tout lu ton post, mais d'aprés ce que j'ai lu, tes evenements ne seront jamais declenché car tu ne les appelle pas :-/ pour faire correctement. En haut de la page de code aspx.vb tu dois avoi deux drops, celui de droite tu dois avoir ton datagrid, tu le selectionnes, puis celui de gauche tu peux choisir ton evenement. normalement ca va automatiquement te rajouter ce code Public Sub MonDataGrid_Cancel(ByVal source As System.Object, ByVal e As DataGridCommandEventArgs) handles me.dg1.CancelCommand
end sub ou un truc du genre, tes evenements seront donc declenchés, en fait il te manquait le handles c'est lui qui indique quand c'est declenché, ca doit etre expliqué dans le bouquin3 (c'est bien un gros bouquin bleu ?, je l'ai lu a la vitesse ultra grand "V" celui la :p) dans ton code aspx tu n'as desormais plus besoin de mettre le <asp:datagrid onCancelCommand="truc" tout tes evenements seront recuperé par le code. J'espere que ca t'aura aidé :)
Cyril - MCP ASP.netWebmaster de : Hoshimi.CodeS-SourceS.fr
|
|
mardi 31 mai 2005 à 16:40:46 |
Re : DATAGRID : Bouton Ajouter, Modifier, Supprimer

Templar_net
|
Désolé de répondre si tard, mais je n'ai commencé le taf que cet apres-midi aujourd'hui. Ok, ca roule il manquant bien le Handle. Mais il y avait aussi un autre souci, dans le bouquin ils font une fonction BindData( ) que je n'avais pas. Donc quand je cliquais sur le bouton, ca ne réaffichait pas mes données.
En plus Richard met dans son BindData( ), un rappel d'ouverture de connection, sa requête, etc... Je me disais que ca me semblait bizarre une fois de plus ayant mon composant de devoir tout réécrire en dur, ... En cherchant un peu j'ai trouver la solution en mettant dans mon BindData ce qu'on trouve dans la fonction page_load :
Private Sub BindData() myComponent.FillDataSet(MyDataSet1) DataGrid1.DataBind() End Sub
Et donc pour mon bouton Edit : Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand DataGrid1.EditItemIndex = e.Item.ItemIndex BindData() End Sub
Et ca marche très bien. Maintenant reste la 2e question que je n'ai pas résolu, ...
Dans l'initialisation de mon composant je vois les fonctions INSERT, UPDATE et DELETE comme ceci :
'SqlUpdateCommand1 ' Me.SqlUpdateCommand1.CommandText = "UPDATE Compagnie SET libelle_compagnie = @libelle_compagnie WHERE (id_compagnie =" & _ " @Original_id_compagnie) AND (libelle_compagnie = @Original_libelle_compagnie); " & _ "SELECT id_compagnie, libelle_compagnie FROM Compagnie WHERE (id_compagnie = @id_" & _ "compagnie)" Me.SqlUpdateCommand1.Connection = Me.SqlConnection1 Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@libelle_compagnie", System.Data.SqlDbType.VarChar, 50, "libelle_compagnie")) Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_id_compagnie", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "id_compagnie", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_libelle_compagnie", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "libelle_compagnie", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@id_compagnie", System.Data.SqlDbType.Int, 4, "id_compagnie")) '
Là aussi je voudrais l'associé directement à mon Private Sub DataGrid1_UpdateCommand. Mais je ne sais pas commant lui dire d'aller le chercher dans mon composant. Quand j'applique ta méthode, je tape dans ma fonction : "MyComponent." au moment ou je tape "." un menu s'affiche dans lequel apparait SqlDeleteCommand1, SqlUpadateCommand1, ... Je sélectionne donc SqlUpadateCommand1, ce que me donne MyComponent.SqlUpadateCommand1( ) mais il m'ecrit : "Un accès à la proprièté doit assigner la propriété ou utiliser sa valeur."
Qu'est ce que cela signifie ? Et donc comment associer correctement cet élément du composant au déclenchement de l'événement lors du clic comme pour la modification ou l'annulation.
|
|
Cette discussion est classée dans : page, code, modifier, livre, compagnie
Répondre à ce message
Sujets en rapport avec ce message
Modifier son code personnel [ par cedriccopy ]
Bonjour, J'ai une page identification et je veux que l'identifiant puisse changer de code personnel comme bon lui semble. Pour ce faire, j'ai créer u
dropdownlist + alert javascript sous firefox => problème [ par gr54 ]
Bonjour à tous, J'ai développé une appli asp.net et c# (3.5) qui utilise une dropdownlist, le tout en ajax via un updatepanel. Dans certains cas, j'a
Actualiser un formulaire à partir d'un autre [ par aercilla ]
Bonjour,Je dois mettre en place l'actualisation d'une page contenant 2 formulaires.Mes formulaires sont un formulaire de saisie (que j'appelerais Form
onLoad() modifier balise html suivant param dans URL [ par Kikuts ]
Bonjour ! J'ai une page ASP contenant une image mappé de plusieurs liens. Cette image représente la liste des modules disponibles de mon application
code source d'une page web [ par pigeon11 ]
Bonjour, En VbNet J'essaye de récupérer le code sources d'une pages mais je rencontre des problèmes. voila la fonction qui retourne le code source
popup en utilisant la methode RegisterStartupScript [ par za3ima41 ]
Bonsoir j'utilise le code suivant pour afficher une page popup (.aspx), le problème c'est que le système n'accepte pas cette suntaxe en disant : 'Sy
Rediriger la page [ par Souliabdo ]
Bonjour, j’ai un page web qui contient une Grid view chaque fois je cliquais sur une cellule j’appelle le code MaPage.aspx.cs. Puis je recharge la
Insérer une page aspx dans du code javascript [ par mathieu_gdal ]
Bonjour à tous, J'ai une page asp.net (qui affiche la météo des vagues, bref), je cherche un moyen technique pour le rendre dispo sur tout site web.
Content page et code JavaScript [ par ngonka2003 ]
Bonjour à tous, Voici le problème auquel je fais face depuis quelques jours et pour lequel je sollicite votre aide. Je développe en APS.NET 2.0. J’u
Récupérer données sur une page asp [ par alberto1970 ]
Salut, Je ne connais pas l'ASP je code en php uniquement et j'ai un problème assez important. J'essaie de récupérer certaines données sur une page q
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|