.net2 gridview complet

Soyez le premier à donner votre avis sur cette source.

Snippet vu 57 559 fois - Téléchargée 30 fois

Contenu du snippet

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

Source / Exemple :


<%@ 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.

A voir également

Ajouter un commentaire Commentaires
ced038 Messages postés 10 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 11 juin 2007
19 juin 2007 à 17:57
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 comme pour l'insert?





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
ucef84 Messages postés 3 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 4 juin 2007
4 juin 2007 à 22:42
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
yoyo041080 Messages postés 18 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 10 septembre 2007
22 mars 2007 à 15:59
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 ;)

++
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
24 oct. 2006 à 19:40
Voila :
SqlDtsCustomerID.DeleteCommandType = SqlDataSourceCommandType.StoredProcedure

Ca marche mieux ^^
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
24 oct. 2006 à 19:25
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' ???

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.