ASP.NET SqlDataSource + GridView + BoundField + ItemTemplate + Update

 
ASP.NET SqlDataSource + GridView + BoundField + ItemTemplate + Update
 

   default.aspx
 
   <asp:GridView ID="GridView1" runat="server"
   DataSourceID="SqlDataSource1" AutoGenerateColumns="false">
 
   <Columns>
 
      <asp:BoundField DataField="Player ID" HeaderText="Player ID" SortExpression="Player ID" ReadOnly="true" />
 
      <asp:TemplateField HeaderText="League Name">
 
         <ItemTemplate>
            <asp:Label ID="Label2" runat="server" Text='<%# Eval("Player Name") %>'></asp:Label>
         </ItemTemplate>
 
         <EditItemTemplate>
            <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("Player Name") %>'></asp:TextBox>
         </EditItemTemplate>
 
      </asp:TemplateField>
 
      <asp:BoundField DataField="Team ID" HeaderText="Team ID" ReadOnly="true" />
 
      <asp:TemplateField>
 
         <ItemTemplate>
            <asp:Button ID="Button1" runat="server"
            Text="Edit" CommandName="Edit" CommandArgument='<%# Eval("Player ID") %>' />
         </ItemTemplate>
 
         <EditItemTemplate>
            <asp:Button ID="Button2" runat="server"
            Text="Update" CommandName="Update" CommandArgument='<%# Eval("Player ID") %>'
            oncommand="btnUpdate_Command" />
            <asp:Button ID="Button3" runat="server" Text="Cancel" CommandName="Cancel" />
         </EditItemTemplate>
 
      </asp:TemplateField>
 
   </Columns>
 
   </asp:GridView>
 
   <asp:SqlDataSource ID="SqlDataSource1" runat="server" />
 

 

   default.aspx.vb
 
   Protected Sub Page_Load(ByVal sender As Object, _
   ByVal e As System.EventArgs) Handles Me.Load
 
      GetData()
 
   End Sub
 
   Private Sub GetData()
 
      SqlDataSource1.ConnectionString = "Data Source=.\SqlExpress;"
      SqlDataSource1.ConnectionString &= "Initial Catalog=Soccer; "
      SqlDataSource1.ConnectionString &= "Integrated Security=SSPI"
      SqlDataSource1.SelectCommand = "SELECT Player_ID AS 'Player ID', Player_Name AS 'Player Name', " & _
      "Team_ID AS 'Team ID' FROM dbo.Player"
 
      SqlDataSource1.UpdateCommand = "SELECT Player_ID AS 'Player ID', Player_Name AS 'Player Name', " & _
      "Team_ID AS 'Team ID' FROM dbo.Player"
 
   End Sub
 
   Protected Sub btnUpdate_Command(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs)
 
      Dim A As String = TryCast(sender.FindControl("TextBox1"), TextBox).Text
      SqlDataSource1.UpdateCommand = "UPDATE dbo.Player SET Player_Name = '" & A & _
      "' WHERE Player_ID = " & e.CommandArgument
      SqlDataSource1.Update()
 
   End Sub