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 |