begin process at 2010 02 10 09:06:14
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > .NET2 GRIDVIEW COMPLET

.NET2 GRIDVIEW COMPLET


 Information sur la source

Note :
8,75 / 10 - par 4 personnes
8,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :gridview Niveau :Initié Date de création :25/04/2005 Date de mise à jour :03/02/2006 14:47:26 Vu :48 086

Auteur : gldfdp

Ecrire un message privé
Site perso
Commentaire sur cette source (48)
Ajouter un commentaire et/ou une note

 Description

Comment faire une gridview complete (ajout/edition/suppression) en ASP.NET 2.0

Source

  • <%@ Page Language="C#" Title="Untitled Page" %>
  • <script runat="server">
  • protected void AddButton_Click(object sender, EventArgs e)
  • {
  • SqlDataSource1.Insert();
  • GridView1.DataBind();
  • GridView1.PageIndex=GridView1.PageCount;
  • GridView1.EditIndex = GridView1.Rows.Count - 1;
  • }
  • </script>
  • <html xmlns="http://www.w3.org/1999/xhtml">
  • <head><title>Manage currency</title></head>
  • <body>
  • <div>
  • <h3>Manage currencies</h3>
  • <form action="Default.aspx" runat="server">
  • <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1"
  • DataKeyNames="id" AllowPaging="True" AutoGenerateColumns="False" AllowSorting="True" >
  • <Columns>
  • <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
  • SortExpression="id" />
  • <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
  • <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
  • </Columns>
  • </asp:GridView>
  • <asp:SqlDataSource ID="SqlDataSource1" runat="server"
  • SelectCommand="Select * from [currency] order by id"
  • InsertCommand="Insert into [currency] ([name]) values(@name)"
  • UpdateCommand="Update [currency] set [name]=@name where [id]=@id"
  • DeleteCommand="Delete from [currency] where [id]=@id; DBCC CheckIdent(currency,reseed,0); DBCC CheckIdent(currency,reseed)"
  • ConnectionString="<%$ ConnectionStrings:connexion %>"
  • >
  • <InsertParameters>
  • <asp:Parameter Type="String" Name="name" DefaultValue="(new)" />
  • </InsertParameters>
  • </asp:SqlDataSource>
  • <asp:LinkButton ID="AddButton" Text="Add new currency" runat="server" OnClick="AddButton_Click"/>
  • </form></div>
  • </body>
  • </html>
<%@ Page Language="C#" Title="Untitled Page" %>

<script runat="server">

    protected void AddButton_Click(object sender, EventArgs e)
    {
        SqlDataSource1.Insert();
        GridView1.DataBind();
        GridView1.PageIndex=GridView1.PageCount;
        GridView1.EditIndex = GridView1.Rows.Count - 1;
        
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Manage currency</title></head>
<body>
    <div>
        <h3>Manage currencies</h3>
        <form action="Default.aspx" runat="server">
            <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" 
            DataKeyNames="id" AllowPaging="True"  AutoGenerateColumns="False" AllowSorting="True" >
              <Columns>
                 
                  <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
                      SortExpression="id" />
                  <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" /> 
                  <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
              </Columns>
            
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            SelectCommand="Select * from [currency] order by id" 
            InsertCommand="Insert into [currency] ([name]) values(@name)" 
            UpdateCommand="Update [currency] set [name]=@name where [id]=@id" 
            DeleteCommand="Delete from [currency] where [id]=@id; DBCC CheckIdent(currency,reseed,0); DBCC CheckIdent(currency,reseed)"  
            ConnectionString="<%$ ConnectionStrings:connexion %>"
            >
            <InsertParameters>
                <asp:Parameter Type="String" Name="name" DefaultValue="(new)" />
            </InsertParameters>
            </asp:SqlDataSource>
            <asp:LinkButton ID="AddButton" Text="Add new currency" runat="server" OnClick="AddButton_Click"/>
        
    </form></div>
    </body>
</html>

 Conclusion

Comme vous l'avez remarque ici, la table de la base de donnees est tres simple (une colonne id en numero automatique, et une colonne name (varchar)).
Si vous voulez plus complique n'hesitez pas a m'ecrire.


 Historique

25 avril 2005 17:46:32 :
11 octobre 2005 04:40:52 :
Correction du bug lorsque la GridView etait paginee, ou que le nombre de lignes depassait 10.
11 octobre 2005 04:44:32 :
Remise a niveau de l'index de la cle (DBCC CheckIdent)
03 février 2006 14:47:26 :
Mise en conformite XHTML et enlevement des balises inutile. Amelioration des requetes SQL

 Sources du même auteur

Source avec une capture Source .NET (Dotnet) .NET 2.0: CONTRÔLE IMAGE VIEWER / UPLOADER
Source avec Zip Source .NET (Dotnet) [.NET 2.0] GRIDVIEW EN AJAX
Source avec Zip Source .NET (Dotnet) .NET 2.0 MONITORING SYSTEME
Source avec Zip Source avec une capture Source .NET (Dotnet) .NET2 GESTIONNAIRE DE DROITS DE FICHIERS AVEC SQL SERVER EN ...
Source .NET (Dotnet) .NET2 GESTIONNAIRE DE RELATIONS [N,N] AVEC GRIDVIEW.

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) CUSTOM DATEPIKER DÉRIVANT DE COMPOSITECONTROL par fredzool
Source avec Zip UN MODULE POUR APPRENDRE SQL par Elmarzougui
Source avec Zip Source .NET (Dotnet) BOUTON QUI EMPECHE LE MULTI CLIC AVANT LA FIN DU TRAITEMENT.... par fredzool
Source avec Zip Source .NET (Dotnet) BOUTON AVEC CSS ET USERCONTROL WITH EVENT par fredzool
Source avec Zip Source .NET (Dotnet) CAPTCHA ASP.NET ET JAVASCRIPT par vaan3713

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) GRIDVIEW DATE PICKER JAVASCRIPT par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW UTILISANT LINQ ET REFLECTION par jmenfous
Source avec Zip Source avec une capture Source .NET (Dotnet) EXTENDER GRIDVIEW POUR TRAITEMENTS LOURDS DE LISTES par Yxion
Source avec Zip Source .NET (Dotnet) INSERER UNE PHOTO DANS UN CHAMP BLOB (IMAGE) DANS TABLE SQL ... par Myke
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW AVEC DES IMAGES par CSharpJSharp

Commentaires et avis

Commentaire de teogal le 26/04/2005 18:09:08

Ton code explique assez bien, mais il me reste un probleme, j essai de rajouter une colonne de boutons dans ma grille et de lui attribuer une fonction autre que delete update etc, je n arrive pas a trouver comment faire, j arrive bien a ajouter les boutons mais je n'arrive pas a leur coller une fonction quand on clique dessus... J ai galere toute une journee dessus j en peut plus

Commentaire de gldfdp le 27/04/2005 03:41:02

Il suffit de rajouter une colonne de button field. Exemple:
<asp:ButtonField CommandName="tacommande" Text="Essai" />
Dans la balise de la gridview tu rajoutes:
OnRowCommand="GridView1_RowCommand"
Et dans le script:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "tacommande")
        {
            [Instructions]
        }
    }

Commentaire de teogal le 27/04/2005 09:31:38

MERCI!! ca marche enfin! il me manquait juste le bout de scipt! Mais j ai encore un autre probleme... Comment on recupere les infos qui correspondent a la ligne selectionnée? j ai cherche dans les attributs de "e" et de gridview mais je vois pas quoi faire....

Commentaire de teogal le 27/04/2005 10:04:24

J ai trouve ca dans la doc :
"Note The System.Web.UI.WebControls.GridViewCommandEventArgs class does not contain a property to indicate which row's button was clicked. If you need to know which row raised the event, pass the row's index to the event-handling method using the System.Web.UI.WebControls.CommandEventArgs.CommandArgument property."
seulement je ne vois pas comment rajouter un argument comme ils le disent...

Commentaire de teogal le 27/04/2005 10:34:54

Aperement il faudrait utiliser CommandArgument mais ce truc n est pas defini pour les boutonsfield, les linkbuttons l ont mais ne sont pas definis pour les gridview :-(

Commentaire de teogal le 27/04/2005 10:59:14

Bon finalement j ai trouve, ca fait plaisir!!
il faut recuperer l index a l aide de l argument et alors on peut recuperer chaque colonne comme suit:

if (e.CommandName == "tacommande")
{
            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = GridView1.Rows[index];
            string colone1 = Server.HtmlDecode(row.Cells[0].Text);
            Response.Write(colone);
}

J ai reussi a trouve ca dans le tuto bien caché a cette adresse http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfsystemwebuiwebcontrolslinkbuttonclasscommandargumenttopic.asp

Commentaire de teogal le 27/04/2005 11:00:00

ousp j ai tout fait buggé!!

Commentaire de gldfdp le 27/04/2005 11:39:41

Merci parceque moi non plus je ne voyais pas comment faire.

Commentaire de teogal le 27/04/2005 11:42:14

tu pourrais peut etre faire un tuto c est interressant comme probleme!

Commentaire de gldfdp le 27/04/2005 12:36:56

Je vais m'y pencher alors. J'incluerais aussi comment mettre une liste deroulante pour les cles etrangeres.

Commentaire de teogal le 27/04/2005 14:16:42

J ai encore un probleme!!! j efface un utilisateur dans ma fonction et le probleme c est que la view grid ne se met pas a jour! rien a faire meme avec un reload de page ... je commence a en avoir marre de cette grille!

Commentaire de gldfdp le 27/04/2005 15:39:23

Il faudrait que tu m'envoies ton code.

Commentaire de teogal le 27/04/2005 16:37:51

protected void GridView1_RowCommand(...)
    {
      
        if (e.CommandName == "Effacer")
        {
int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = GridView1.Rows[index];
            string login =
Server.HtmlDecode(row.Cells[0].Text);
            string pass =
Server.HtmlDecode(row.Cells[3].Text);
//fonction a moi
            connexionODBC cnx = new connexionODBC();
       //fonction a moi     cnx.connect(ConfigurationSettings.AppSettings["Connectionstring"]);
         //fonction a moi  
requetesODBC r = new requetesODBC();
//fonction a moi
            CUser user = r.VerifUser(login, pass, cnx);
            if (user.privilege < 2)
            {
//fonction a moi
                r.EffacUser(user, "d:",cnx);
//et apres il me faudrait un update de la grid view car elle
ne voit pas que l enregistrement n existe plus!!

Commentaire de gldfdp le 27/04/2005 16:41:56

tu as essayé Gridview1.DataBind() ou Page.Databind() ?

Commentaire de teogal le 27/04/2005 17:28:36

oui aucun des deux marche... tu vois comment une autre solution que les gridviews?

Commentaire de gldfdp le 28/04/2005 03:12:27

Je pense que si ta gridview se met pas a jour c'est parceque tu effaces ton enregistrement avec une autre connexion. Et comme la datasource qui est en memoire elle, elle ne sait pas que ton enregistrement a ete efface, elle ne se met pas a jour. Essaie donc:
if(user.privilege<2)
{
      SqlDataSource1.Delete();
}

Commentaire de gldfdp le 28/04/2005 06:06:21

Bon comme demande j'ai fait un tutorial &agrave; l'adresse suivante:
http://larreurdefarcy.com/whidbey/Tutorial%20Gridview.html

Commentaire de teogal le 28/04/2005 14:31:52

ta technique marche quand tu fait une fonction qui enleve un enregistrement?

Commentaire de gldfdp le 28/04/2005 18:09:01

J'utilise les boutons delete pour ca et ca marche tres bien

Commentaire de paloxicide le 03/02/2006 12:10:00

je comprends pas quand je clique sur "Add new currency ", il m'ajoute 2 lignes
1 deja insérer dans la base et l'autre en update c'est a dire que que la textbox
apparait et si je fais sur annuler. J'ai 2 lignes ajoutées alors que j'ai fais annuler

Commentaire de gldfdp le 03/02/2006 14:43:21

Alors je sais pas si j'ai bien compris ton probleme mais voila:
-->lordque tu clique sur add new currency, le systeme insere une nouvelle ligne dans la base. Ne fois que tu as mis cette nouvelle ligne, il ne faut pas recliquer sur add new currency mais sur update
-->Si lorsque tu as clique sur add new currency tu veux annuler l'insertion il te faut d'abord sortir du mode edition de la ligne qui s'est lance automatiquement puis faire delete, c'est concu comme ca.
Voila voila en esperant que ca ait pu t'aider.

Commentaire de paloxicide le 03/02/2006 17:52:46

En fait, en galérant pas mal, je viens de trouver mon erreur.
C'était juste une mauvaise manip au niveau du code.

Mais la, j'ai une question un peu plus pertinante
Peut on afficher que les valeurs de la table en fonction de la variable
de session en cours
Par exemple : je voudrais afficher que le nom dont la session est pour l'id 4
==> Session("id") = 4
est il possible de passer en parametre la variable dans une clause WHERE
de ma requete SELECT
Si oui comment le faire au niveau du <SelectParameters>

Commentaire de gldfdp le 03/02/2006 18:02:05

Dans ta connection tu rajoute ca:
<SelectParameters>
   <asp:SessionParameter SessionField="id" Name="id" />
</SelectParameters>

Et dans ta requete select:
Select nomdetonchamp from tatable where id=@id

Commentaire de Allen912 le 21/03/2006 11:23:07

Comment peux t'on récupérer l'erreur générée par une tentative de suppression d'un élément protégé ? (Utlisé comme clé étrangère(?) dans une autre table en relation...)

Commentaire de xhordonneau le 18/04/2006 16:01:04

Très bonne idée que de lancer un sujet sur le DataGrid!
Peut-être sauras-tu m'aider?
J'ai un datagrid assez complexe, et je cherche à afficher le footer de ce dernier lorsque
le datasource qui l'alimente ne contient aucun résultat.
En effet, mon footer contient tous les champs nécessaires à l'ajout d'un enregistrement, ainsi qu'un bouton
d'insertion, mais quand il n'y a pas de lignes dans le datagrid, je ne peux rien ajouter, vu que le footer ne s'affiche pas.
A défaut de pouvoir l'afficher, y aurait-il une autre méthode pour ajouter des lignes simplement?

PS:j'ai essayé "sqlDataSource.Insert()", maisj'ai le message d'erreur suivant:
"Cannot insert the value NULL into column 'NuméroJour', table 'PtgDataSQLServer.dbo.Opérations'; column does not allow nulls. INSERT fails.". Je comprends bien l'erreur, mais je ne trouve pas de solution simple et performante.

Commentaire de gldfdp le 18/04/2006 19:05:05

Pour Allen912, désolé mais je n'en n'ai pas la moindre idée.
POur Xhordonneau as tu essayé en insérant une valeur par défaut à ton jour genre 1 janvier 1900?

Commentaire de xhordonneau le 20/04/2006 16:51:14

Oui j'ai essayé de renseigner les valeurs qui manquaient, et ça marche bien!
Seulement mon problème est loin d'être résolu!
En effet, avec "insert", à chaque chargement de ma page, une ligne est insérée dans ma BDD, mais elle ne s'affiche pas dans le gridview, qui reste vide!
L'utilisateur ne fera pas forcément d'insertion à chaque visite, donc je me retrouve avec des lignes
"parasites dans ma BDD, et en production, avec une cinquantaine d'utilisateurs et un enregistrement à chaque chargement, elle aura vite fait d'exploser!
N'y a-t-il pas un moyen d'afficher une ligne vide dans ce satané de gridview sans toucher à la BDD?!
Les développeurs Microsoft ont bien dû penser à ca!
A quoi servent alors les InsertItem Templates? Comment s'en sert-on?

Commentaire de gldfdp le 20/04/2006 18:51:33

Non le InsertItemTemplate est juste la car c'est commun avec la detailview qui elle permet d'insérer un nouvel élément.

"The GridView control doesn't have automatic support for inserting data into a data source. The missing feature is entirely due to the GridView implementation and doesn't depend on the capabilities and characteristics of the underlying data source. The data source object, in fact, provides a CanInsert property and supports an InsertCommand property. Note that a combination of GridView and DetailsView controls enables you to achieve this functionality, as you'll see in a moment."

http://msdn.microsoft.com/msdnmag/issues/04/08/GridView/

Commentaire de xhordonneau le 21/04/2006 09:16:02

Merci pour la précision de ta réponse GLDFDP.
Si j'avais lu ça plus tôt, je n'aurais pas perdu autant de temps!
Je vais donc tester la combinaison GridView/DetailView, comme préconisé par Microsoft "itself"!
Merci encore donc...je vous tiendrai au courant.

Commentaire de garnier54 le 14/07/2006 20:47:24

bonjour,

je viens de tester votre code sur le gridview il est tres pratique felicitation
je voulais ajouter des enregistrements a mon grid. j'ai constater un petit probleme  en ajout, le pg ajoute en fait deux lignes dans mon grid !!
j'ai repris le code je l'ai simplement mis en VB

avez vous une idee du probleme merci

  

Commentaire de gldfdp le 18/07/2006 09:29:08

Non désolé, je n'en ai pas la moindre idée. Solution bidouille si cela persiste: apres ou avant avoir rempli la gridview, verifier qu'il n'existe pas deux valeurs (new), si oui alors enlever une des deux lignes.

Commentaire de garnier54 le 19/07/2006 17:06:49


j 'ai trouvé quand il creé l'evenement clik en vb il ajout deriere un handles (je sais pas trop a quoi cela sert), je l'ai enlevé et ca marche bien.

Merci

Commentaire de Amine le 31/07/2006 11:28:32

Salut
pouvez vous m'aider : j'ai un gridview dans une WebForm et je veux ajouter une colonne contenant des images comme lien hypertexte. Je sais pas comment le faire et est ce que c'est possible ou pas car ce que j'ai trouvé c'est une colonne de type hypertext mais on peut pas mettre dedans une image comme lien...

Merci d'avance pour votre aide

:-)

Commentaire de gldfdp le 31/07/2006 11:56:09

IL faut passer par un template field de ce style la:
<Columns>
<asp:TemplateField>
    <ItemTemplate>
        <a href="lelien"><asp:Image id="Image1" runat="server" AlternateText="Image Text"
ImageUrl='<%# Bind("lechampcontenantlechemindelimage") %>'/>
        </a>
    </ItemTemplate>
</asp:TemplateField>
</Columns>

Commentaire de Amine le 31/07/2006 13:00:02

Merci bcp ! ça marche très bien !

;-)

Commentaire de cbu le 24/10/2006 15:41:45

Salut,
bon moi j'ai un petit probleme ..:)

Je génère mes colonnes par code et les propriétés de mon SqlDataSource, GridView également..
Je n'arrive pas à faire d'update et de delete..
J'ai le message d'erreur suivant : Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near '1'.

Ma ProcStock fonctionne très bien.. Je construis tous mes paramètres, cela me parait correct.. Et lorsque je fais la MAJ, j'ai ce bug. Quelqu'un aurait une idée ?
Merci

Commentaire de gldfdp le 24/10/2006 16:11:56

Il faudrait que tu nous donnes le code de ta procédure et la valeur de tes paramètres lors de la levée de l'exception.

Commentaire de cbu le 24/10/2006 16:20:08

no problemo . :

SP :
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[sp_updateCustomer]
-- Add the parameters for the stored procedure here
@pi_ID int,
@pi_OLDCustomerID int = null,
    @pi_FirstName nvarchar(255) = null,
    @pi_LastName nvarchar(255) = null,
    @pi_Email nvarchar(255) = null,
    @pi_CompanyName nvarchar(255) = null,
    @pi_WhereDidYouHear nvarchar(255) = null

AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

    -- Insert statements for procedure here
UPDATE dbo.mnBoCustomer

SET OLDCustomerID = @pi_OLDCustomerID,
FirstName = @pi_FirstName,
LastName = @pi_LastName,
Email = @pi_Email,
CompanyName = @pi_CompanyName,
WhereDidYouHear = @pi_WhereDidYouHear

WHERE CustomerID = @pi_ID
END

Ensuite les valeurs .. de mes parametres ..
sont typés correctement et en testant ma SP direct avec ses valeurs la Mise a jour se fait ..

..:/
Merci pour le temps passé à chercher :)

Commentaire de cbu le 24/10/2006 16:28:16

dans mes paramètres, je n'ai qu'une valeur ou il y a un '1' c'est mon @pi_ID qui vaut 19678
..

Commentaire de cbu le 24/10/2006 16:33:04

@pi_ID = 19776 {Integer}
@pi_FirstName = "ZZzzzzzz" {String}
Tous les autres paramètres sont Null

Commentaire de gldfdp le 24/10/2006 17:04:25

Essaie de lancer un sqlprofiler afin de voir la valeur des paramètres passés à ta procédure lors de ton update. Cela permettra de voir aussi s'il plante juste avant l'execution de ta prodédure ou pendant.

Commentaire de cbu le 24/10/2006 17:06:43

Humm . j'ai SQLExpress.. donc je ne l'ai pas :/

Commentaire de cbu le 24/10/2006 18:55:08

Bon alors .. Je suis passé sur la commande Delete car l'Update commencait a me monter la pression :

J'ai la meme erreur à savoir :
System.Data.SqlClient.SqlException: Incorrect syntax near '1'.

alors
Voila je déclare mon DeleteCommand :
            SqlDtsCustomerID.DeleteCommand = "sp_deleteCustomer"
            SqlDtsCustomerID.DeleteCommand = SqlDataSourceCommandType.StoredProcedure

Voila ma procStock :
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_deleteCustomer]
-- Add the parameters for the stored procedure here
(
@pi_CustomerID int
)

AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

    -- Insert statements for procedure here
DELETE FROM dbo.mnBoCustomer WHERE CustomerID=@pi_CustomerID

END

... Humm Voilou et je ne sais pas ce quil se passe

Commentaire de cbu le 24/10/2006 19:25:10

Bon j'ai choppé le SQLProfiler et voila ce que j'obtiens :
exec sp_executesql N'1',N'@CustomerID int',@CustomerID=2

Ok pour le N..
Mais d'ou sort ce '1' ???

Commentaire de cbu le 24/10/2006 19:40:41

Voila :
SqlDtsCustomerID.DeleteCommandType = SqlDataSourceCommandType.StoredProcedure

Ca marche mieux ^^

Commentaire de yoyo041080 le 22/03/2007 15:59:17

Petit précision sur comment récupèrer les infos de clé pour affichage de données ou suppression :

1) Il faut tout d'abord spécifier les DataKeyNames du GridView (ce sont la ou les clé qui identifie la ligne de manière unique)

2) Choper l'événement RowDeleting
Protected Sub GvDonnees_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gvDonnees.RowDeleting
        Dim idSelected As Nullable(Of Integer)
        ' on lit la clé
        idSelected = CType(gvDonnees.DataKeys(e.RowIndex).Value, Nullable(Of Integer))
        ' on essaie de supprimer
        EffaceMesure(idSelected)
    End Sub

3)Il faut utiliser la propriété DataKeys(index).Value pour obtenir la clé de la ligne ou
Il faut utiliser la propriété DataKeys(index).Values pour obtenir les clés de la ligne

j'espère que ça aidera ;)

++

Commentaire de ucef84 le 04/06/2007 22:42:54

bsr je veux  inserer des  hyperliens dans on Datagrid . la 1er colonne contient le nom , donc je veux cliquer sur le nom a fin d'avoir une  autre page qui va afficher d'autres  informations sur le nom que jai choisi et merci d'avance

Commentaire de ced038 le 19/06/2007 17:57:41

Je ne comprend pas un truc dans cet exemple, il ya des paramètres dans la requete update, mais je ne comprends pas comment passer les paramètres à la requete??

         UpdateCommand="Update [currency] set [name]=@name where [id]=@id"

D'ailleurs, il ne devrait pas y avoir des <updateParameters> comme pour l'insert?

            <InsertParameters>
                <asp:Parameter Type="String" Name="name" DefaultValue="(new)" />
            </InsertParameters>

J'arrive bien a faire marcher un select avec des paramètres, mais pour l'update, y'a qq chose qui m'echappe,

Merci de votre aide

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

remplissage gridview avec un xmldatadocument [ par teogal ] &nbsp;&nbsp;&nbsp; Je souhaite&nbsp; remplir&nbsp; une grid view avec un xml document et un dataset mais je ne comprend pas ce qui ne va pas dans mon Edition multi lignes dans un gridview et utilisation de paramètres provenant de composant html classiques [ par Padkartiai ] Bonjour,Sauriez-vous s'il est possible d'&#233;diter plusieurs lignes d'un gridview et si oui comment ?De plus, savez vous comment mettre une DropDown Champs caché dans un gridview ? [ par zigxag ] Bonjour !J'ai besoin de faire une gridview avec un bouton Select (auto-g&#233;n&#233;r&#233;). Lorsque ce bouton est cliqu&#233;, j'aurais besoin de r Gridview et dataview... [ par zigxag ] Bonjour !J'ai un&nbsp;dataview avec&nbsp;20 colonnes dedans... Je veux seulement en afficher 15 dans mon gridview. Savez vous comment faire ??Merci po GridView et hyperlink [ par leviz ] Bonjour! Encore une question (pour changer!): J'ai un GridView dans lequel j'affiche un DataSet mais aussi des liens qui ne font pas partie du DataS Checkbox en Template dans Un GridView [ par NoSpoon61 ] Bonjour, J'ai un Gridview qui est cr&#233;&#233; dans mon Page_Load avec comme dataSource un dataSet (qui vient d'un webservice, donc qui est r&#233; GridView et CheckBoxField (framework 2.0) [ par Thanos_the_yopper ] Bonjour, Je suis sur un projet ASP.Net/C# avec framework 2.0. J'utilise une GridView (qui remplace la DataGrid) qui est remplit avec une DataView rem Modifier le Gridview en visual studio 2005 (asp.net2) [ par hotlines ] bonjour , j'ai un petit probl&#232;me avec le dabagrid , quand je veux modifier un enregistrement directement sur le Gridview il me m'affiche m'erreur GridView Multicolone ? et affichage conditionnel ? [ par Troyan ] Bonjour,grace &#224; vos conseil je suis en train de faire un gridview dans lequel j'utilise templatefieldpour le mettre en forme comme je le souhaite gridview erreur pagination ! [ par Troyan ] tout marche bien mais quand je met AllowPaging=true PageSize=10la premiere page marche mai


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales