.net2 gridview complet

Soyez le premier à donner votre avis sur cette source.

Snippet vu 57 030 fois - Téléchargée 28 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

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

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

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