Mega Code Archive

 
Categories / ASP.Net Tutorial / Data Binding
 

Get an flexible and feature-rich UI using the DataList control

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"      Inherits="Default" %> <!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>DataList in action</title> </head> <body>     <div id="pageContent">         <form id="form1" runat="server">             <asp:DropDownList ID="Countries" runat="server"                  AutoPostBack="true"                  AppendDataBoundItems="True"                  OnSelectedIndexChanged="Countries_SelectedIndexChanged">                 <asp:ListItem>[No country]</asp:ListItem>             </asp:DropDownList>                          <asp:DataList ID="DataList1" runat="server" RepeatColumns="5" GridLines="Both">                 <FooterStyle Font-Bold="true" ForeColor="blue" />                 <HeaderTemplate>                     <h2>We have customers in the following cities</h2>                 </HeaderTemplate>                  <ItemTemplate>                     <%# Eval("City") %> &nbsp;&nbsp;<b><%# Eval("Country")%></b>                 </ItemTemplate>                 <FooterTemplate>                     <%# CalcTotal() %> cities                 </FooterTemplate>             </asp:DataList>         </form>     </div> </body> </html> File: Default.aspx.cs using System; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; public partial class Default : System.Web.UI.Page {     DataTable data;     protected void Page_Load(object sender, EventArgs e)     {         if (!IsPostBack)         {             FillCountries();         }     }     protected void FillCountries()     {         string connString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;         string cmdText = "SELECT DISTINCT country FROM customers;";         data = new DataTable();         SqlDataAdapter adapter = new SqlDataAdapter(cmdText, connString);         adapter.Fill(data);         Countries.DataSource = data;         Countries.DataTextField = "country";         Countries.DataBind();     }     protected int CalcTotal()     {         return data.Rows.Count;     }     protected void Countries_SelectedIndexChanged(object sender, EventArgs e)     {         string connString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;         string cmdText = "SELECT DISTINCT country, city FROM customers WHERE country=@TheCountry";         data = new DataTable();         SqlDataAdapter adapter = new SqlDataAdapter(cmdText, connString);         adapter.SelectCommand.Parameters.AddWithValue("@TheCountry", Countries.SelectedValue);         adapter.Fill(data);         DataList1.DataSource = data;         DataList1.DataBind();     } }