Accueil > Forum > > > > InserButton
InserButton
samedi 17 janvier 2009 à 11:58:43 |
InserButton

fakii
|
bonjour; j'ai posé une question depuis 2 jours et je n'ai reçu aucune réponse!!! je reformule la question: je veux faire l'insertion d'un enregistrement dans la source de donnée via le contrôle GridView en utiliant une colonne de type CommandField. mon GridView et rempli et à coté je dois avoir la possibilité de faire l'ajout . mais je sais pas comment le faire!
y'a quelqu'un qui pourrait m'aider svp?
|
|
samedi 17 janvier 2009 à 21:16:37 |
Re : InserButton

ggtry
|
Bonsoir,
"patience et longueur de temps font plus que force ni que rage". Sauf erreur, un GridView n'a pas d'insert dans ses commandfields. D'autre part, avoir un bouton "insert" sur chaque cellule d'une colonne serait plutôt bizarre, puisqu'il s'agit de faire une nouvelle entrée dans la table, et non pas de changer quelque chose à la ligne sur laquelle se trouverait le button...
Pour passer par le gridview, une solution possible est d'ajouter des textbox dans le footer avec un bouton "insérer". Je ne sais pas comment insérer un contrôle dans le footer en asp, mais c'est possible en vb, par exemple. C'est juste un peu ennuyeux pour la gestion des événements... Dans l'exemple ci-dessous, un button est mis dans la première cellule du footer, et des textbox dans les cellules 2 et 3 :
Protected Sub GridView1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Call creation() End Sub Sub creation() GridView1.FooterRow.Cells(0).Controls.Clear() GridView1.FooterRow.Cells(2).Controls.Clear() GridView1.FooterRow.Cells(3).Controls.Clear() Dim bt As Button = New Button bt.Text = "Insérer" bt.ID = "bt" Dim tb1 As New TextBox Dim tb2 As New TextBox tb1.ID = "tb1" tb2.ID = "tb2" GridView1.FooterRow.Cells(0).Controls.Add(bt) GridView1.FooterRow.Cells(2).Controls.Add(tb1) GridView1.FooterRow.Cells(3).Controls.Add(tb2) AddHandler bt.Click, AddressOf btinsert End Sub Protected Sub GridView1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Call creation() End Sub Protected Sub btinsert(ByVal sender As Object, ByVal e As System.EventArgs) Dim tb1 As TextBox = CType(GridView1.FooterRow.FindControl("tb1"), TextBox) Dim tb2 As TextBox = CType(GridView1.FooterRow.FindControl("tb2"), TextBox) Dim com As String = "INSERT INTO TaTable (Champ1, Champ2t) VALUES ('" & tb1.Text & "'," & tb2.Text & ")" SqlDataSource1.InsertCommand = com SqlDataSource1.Insert() End Sub
GGtry
|
|
samedi 17 janvier 2009 à 21:39:38 |
Re : InserButton

fakii
|
bonsoir; dans les anciennes versions de Vs.net n'existait pas l'ajout dans la colonne CommandField mais ça existe dans la version 2008. j'ai cherché dans le site de microsoft j'ai trouvé qu'il mettent la propriété AutoGenerateRows à false hors moi je trouve pas cette propriété j'ai juste AutoGenerateColumns. en tt cas merci pour ta réponse, je vais voir le essayer avec le code que tu m'a envoyé.
|
|
dimanche 18 janvier 2009 à 14:24:32 |
Re : InserButton

ggtry
|
Réponse acceptée !
Bonjour,
Je crois que tu confonds gridview et detailsview, ce dernier contrôle admettant l'insert et ayant une propriété AutoGenerateRows. Si tu veux faire l'insert par le detailsview, tu peux mettre son DefaultMode à "Insert" en spécifiant un insertcommand.
GGtry
|
|
dimanche 18 janvier 2009 à 17:22:19 |
Re : InserButton

fakii
|
salut! merci pour ta réponse, j'ai vérifié sur le site de microsoft ils ont précisé que insertButton n'est prit en compte que pour certains controles comme le DetailsView, mais je me demande qu'elle est son utilité dans un gridView, si ça existe il doit servire à quelque chose!!!
autre question, j'ai fait l'edition puis lamise à jour d'un enregistremnt dans une source de donnée mais je dois cliquer 2 fois sur "modifier" pour qu'il me donne la possibilitéb de saisir les valeurs que je veux. la même chose se passe avec la pagination, je dois cliquer 2 fois pour aller à une autre page.
merci pour ton aide
|
|
dimanche 18 janvier 2009 à 19:35:12 |
Re : InserButton

ggtry
|
Bonsoir,
Le code donné ci-dessus te permettra de faire un insert directement à partir du gridview : il marche aussi avec une pagination. Le truc embêtant est qu'il faut appeler deux fois la création du button et des textbox, du fait que l'insert provoque un nouveau "bind" de la gridview. D'où le clear des controles puisque sur un postback normal, sans insert, la gridview ne sera pas rebindée et les contrôles apparaîtront deux fois... La requête n'est pas paramétrée, donc danger...
Pour le second problème, je ne vois pas. Cela arrive parfois avec du javascript, et le problème doit se poser de ce côté. Il ne se passe rien du tout lors du premier clic ? ou y a-t-il quand même un post, mais sans effet ? N'ayant pas le problème de mon côté, je n'en comprends pas la raison. As-tu par hasard de l'ajax sur ta page ? Sinon, montre ton code, pour essayer de reproduire le problème.
GGtry
|
|
lundi 19 janvier 2009 à 12:27:53 |
Re : InserButton

fakii
|
dans Page_Load j'écris ' connection à la base de donnée ...... 'je remplis mon dataset da.Fill(ds, "table" ) 'dt c'est mon datatable dt = ds.Tables("table") If Page.IsPostBack = False Then GridV.DataSource = dt GridV.DataBind() End If End Sub 'dans l'événement RowEditing j'écris:
GridV.EditIndex = e.NewEditIndex End Sub 'dans l'événement RowUpdating j'écris Dim T As TextBox T = GridV.Rows(e.RowIndex).Cells(2).Controls(0) Dim id As Integer = GridView2.DataKeys(e.RowIndex).Value 'com est mon objet command
com.CommandText = "UPDATE Table SET chp='" & T.Text & "' WHERE identifiant= '" & id & "'" com.ExecuteNonQuery() Response.Redirect( "mapage.aspx" ) End Sub
|
|
lundi 19 janvier 2009 à 12:28:37 |
Re : InserButton

fakii
|
dans Page_Load j'écris ' connection à la base de donnée ...... 'je remplis mon dataset da.Fill(ds, "table" ) 'dt c'est mon datatable dt = ds.Tables("table") If Page.IsPostBack = False Then GridV.DataSource = dt GridV.DataBind() End If End Sub 'dans l'événement RowEditing j'écris:
GridV.EditIndex = e.NewEditIndex End Sub 'dans l'événement RowUpdating j'écris Dim T As TextBox T = GridV.Rows(e.RowIndex).Cells(2).Controls(0) Dim id As Integer = GridV.DataKeys(e.RowIndex).Value 'com est mon objet command
com.CommandText = "UPDATE Table SET chp='" & T.Text & "' WHERE identifiant= '" & id & "'" com.ExecuteNonQuery() Response.Redirect( "mapage.aspx" ) End Sub
|
|
lundi 19 janvier 2009 à 19:09:30 |
Re : InserButton

ggtry
|
Bonjour,
Je ne suis pas sûr, car je n'utilise pas en général les datasets et les datatables. Mais il est possible que tu aies un problème avec le databind. Je ne suis pas sûr de comprendre exactement comment tu fais, mais il se peut que le databind opéré sur le load empêche que les événements d'édition ou de pagination soient pris en compte du premier coup. Essaie de rebinder à ta source dans ces événements... (il me semble que c'est pour cela que tu utilises response.redirect, mais ce n'est pas a priori une bonne idée, notamment si tu as une pagination).
GGtry
|
|
Cette discussion est classée dans : question, gridview, inserbutton
Répondre à ce message
Sujets en rapport avec ce message
question simple sur une gridview [ par erefdatacomputing ]
Bonjour à tous !!!Sous VisualWeb Developer 2005 Express, sur une Form (avec 3 textbox, un bouton, 1 AccessDataSource, et 1 GridView), dans la partie S
cursor oracle [ par kooroza ]
Bonjour,J'ai créé une page aspx qui contient * un gridview listant les données d'une table sql Oracle (environ 300 lignes)* un bouton déterminant le s
GridView et Rafraichissement [ par erefdatacomputing ]
Bonjour à Tous !!!Dans VisualWeb Developer 2005 Express, j'ai une 'Form', contenant :- 1 AccessDataSource- 1 GridView- 3 TextBox- 2 ButtonLa GridView
[Erreur] Ajax + export GridView vers Excel [ par EMSIEN ]
salut tout le monde,j'ai un soucis lorsque j'utilise l'UpdatePanel dans une page ou j'exporte le contenu d'un GridView vers Excel, en enlevant l'Updat
Ajouter des lignes à un gridview [ par yanis7518 ]
Salut a tousvoila j'ai un gridview et je voudrai le remplir à partir de données (qui ne provienne pas d'une base de données) que je récupère d'une aut
Comment accéder aux textbox générés par les gridview? [ par ov3rdoze ]
Bonjour à tousEncore une question de débutantJ'ai un gridview qui affiche certains champs d'une table.Le gridview affiche également un bouton "Editer"
Aide DataSet [ par Joe051 ]
Bonjour a tous .j'ai un probleme avec mon dataset.Voila je passe une requete et je voudrais que lorsque ma requete ne retourne aucun resultat mon data
Templates dans GridView SANS SQLDATASOURCE ? [ par georgeduke ]
Bonjour, Est-il possible d'utiliser les templates dans un GridView sans utiliser l'objet SQLDataSource ?? En gros
Binding de propriété de UserControl contenu dans un GridView [ par fred2734 ]
Bonjour,J'ai crée un user control que j'utilise dans une colonne template d'un gridview ... Les données du gridview sont chargées via un dataset.Je do
Création un GridView Pour la saisi [ par dj200812002 ]
bonjour, mon probléme c'est que je veux faire un GridView de saisi pour des opérations comptables.c'est-a-dir de faire la saisi dans la GridView sa
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
|