ASP.NET Tutorial/Data Binding/ButtonField — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 18:30, 26 мая 2010
Use a ButtonField to display a button in a GridView
<source lang="csharp">
You can use a ButtonField to represent a custom command or one of the standard edit commands. <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server">
protected void grdProductCategories_RowCommand(object sender, GridViewCommandEventArgs e) { int index = Int32.Parse((string)e.rumandArgument); int id = (int)grdProductCategories.DataKeys[index].Values["Id"]; int position = (int)grdProductCategories.DataKeys[index].Values["Position"]; switch (e.rumandName) { case "Up": position--; break; case "Down": position++; break; } srcProductCategories.UpdateParameters["Id"].DefaultValue = id.ToString(); srcProductCategories.UpdateParameters["Position"].DefaultValue = position.ToString(); srcProductCategories.Update(); }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Show ButtonField</title>
</head> <body>
<form id="form1" runat="server">
<asp:GridView id="grdProductCategories" DataSourceID="srcProductCategories" DataKeyNames="Id,Position" AutoGenerateColumns="false" OnRowCommand="grdProductCategories_RowCommand" Runat="server"> <Columns> <asp:ButtonField Text="Move Up" CommandName="Up" /> <asp:ButtonField Text="Move Down" CommandName="Down" /> <asp:BoundField DataField="Position" HeaderText="Position" /> <asp:BoundField DataField="Name" HeaderText="Category Name" /> </Columns> </asp:GridView> <asp:SqlDataSource id="srcProductCategories" ConnectionString="<%$ ConnectionStrings:Products %>" SelectCommand="SELECT Id, Name, Position FROM ProductCategories ORDER BY Position" UpdateCommand="UPDATE ProductCategories SET Position=@Position WHERE Id=@Id" Runat="server"> <UpdateParameters> <asp:Parameter Name="Id" /> <asp:Parameter Name="Position" /> </UpdateParameters> </asp:SqlDataSource>
</form>
</body> </html>
File: Web.config <configuration>
<connectionStrings> <add name="Products" connectionString="Data Source=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" /> </connectionStrings>
</configuration></source>