Mega Code Archive

 
Categories / ASP.Net / Data Binding
 

GridView with Template and backend code

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="GridViewTemplates2" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>Untitled Page</title> </head> <body>     <form id="form1" runat="server">     <div>         <asp:SqlDataSource ID="sourceProducts"                             runat="server"                             ConnectionString="<%$ ConnectionStrings:Northwind %>"                            ProviderName="System.Data.SqlClient"                             SelectCommand="SELECT ProductID, ProductName, UnitPrice, UnitsInStock FROM Products">         </asp:SqlDataSource>         <asp:GridView ID="GridView1"                        runat="server"                        AutoGenerateColumns="False"                        CellPadding="4"                       DataKeyNames="ProductID"                        DataSourceID="sourceProducts"                        Font-Names="Verdana"                        Font-Size="Small"                        ForeColor="#333333"                        GridLines="None"                        AllowPaging="True"                        OnRowCommand="GridView1_RowCommand">             <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />             <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />             <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />             <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />             <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />             <AlternatingRowStyle BackColor="White" />             <Columns>                 <asp:TemplateField HeaderText="Status">                 <ItemTemplate>                     <asp:ImageButton ID="ImageButton1" runat="server"                                       ImageUrl='<%# GetStatusPicture(Container.DataItem) %>'                                      CommandName="StatusClick"                                      CommandArgument='<%# Eval("ProductID") %>'                       /></ItemTemplate>                 </asp:TemplateField>                 <asp:BoundField DataField="ProductID"                                  HeaderText="ID"                                  InsertVisible="False"                                  ReadOnly="True"                                 SortExpression="ProductID" />                 <asp:BoundField DataField="ProductName"                                  HeaderText="Product"                                  SortExpression="ProductName" />                 <asp:BoundField DataField="UnitPrice"                                  DataFormatString="{0:C}"                                  HeaderText="Price"                                 SortExpression="UnitPrice" />                 <asp:BoundField DataField="UnitsInStock"                                  HeaderText="UnitsInStock"                                  SortExpression="Units In Stock" />             </Columns>         </asp:GridView>         <br />         <asp:Label ID="lblInfo" runat="server" Font-Names="Verdana" Font-Size="Small"></asp:Label>          </div>     </form> </body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class GridViewTemplates2 : System.Web.UI.Page {   protected string GetStatusPicture(object dataItem)   {     int units = Int32.Parse(DataBinder.Eval(dataItem, "UnitsInStock").ToString());     if (units == 0)     {       return "0.gif";     }     else if (units > 50)     {       return "50.gif";     }     else     {       return "blank.gif";     }   }   protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)   {     if (e.CommandName == "StatusClick")       lblInfo.Text = "You clicked product #" + e.CommandArgument;   } } File: Web.config <?xml version="1.0"?> <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">   <appSettings/>       <connectionStrings>         <add name="Northwind" connectionString="Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI"/>       </connectionStrings> </configuration>