And asp.net controls support databinding to any IEnumerable collection so we can easily bind the datagrid,reapter,datalist and dropdownlist with Linq query.
default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="grdCountryList" runat="server" AutoGenerateColumns="False" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" AllowPaging="True"> <Columns> <asp:BoundField DataField="CountryId" HeaderText="CountryId" /> <asp:BoundField DataField="CountryName" HeaderText="Country Name" /> <asp:BoundField DataField="CountryCode" HeaderText="Country Code" /> </Columns> <FooterStyle BackColor="Tan" /> <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> <HeaderStyle BackColor="Tan" Font-Bold="True" /> <AlternatingRowStyle BackColor="PaleGoldenrod" /> </asp:GridView> <br /> Linq Where country code lenght is less than 3 <br /> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None"> <Columns> <asp:BoundField DataField="CountryId" HeaderText="CountryId" /> <asp:BoundField DataField="CountryName" HeaderText="Country Name" /> <asp:BoundField DataField="CountryCode" HeaderText="Country Code" /> </Columns> <FooterStyle BackColor="Tan" /> <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> <HeaderStyle BackColor="Tan" Font-Bold="True" /> <AlternatingRowStyle BackColor="PaleGoldenrod" /> </asp:GridView> <br /> Linq Where country id between 31 to 70 <br /> <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None"> <Columns> <asp:BoundField DataField="CountryId" HeaderText="CountryId" /> <asp:BoundField DataField="CountryName" HeaderText="Country Name" /> <asp:BoundField DataField="CountryCode" HeaderText="Country Code" /> </Columns> <FooterStyle BackColor="Tan" /> <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> <HeaderStyle BackColor="Tan" Font-Bold="True" /> <AlternatingRowStyle BackColor="PaleGoldenrod" /> </asp:GridView> <br /> Linq Where country started from "A" <br /> <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None"> <Columns> <asp:BoundField DataField="CountryId" HeaderText="CountryId" /> <asp:BoundField DataField="CountryName" HeaderText="Country Name" /> <asp:BoundField DataField="CountryCode" HeaderText="Country Code" /> </Columns> <FooterStyle BackColor="Tan" /> <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> <HeaderStyle BackColor="Tan" Font-Bold="True" /> <AlternatingRowStyle BackColor="PaleGoldenrod" /> </asp:GridView> <br /> Linq Where country with like query <br /> <asp:GridView ID="GridView4" runat="server" AutoGenerateColumns="False" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None"> <Columns> <asp:BoundField DataField="CountryId" HeaderText="CountryId" /> <asp:BoundField DataField="CountryName" HeaderText="Country Name" /> <asp:BoundField DataField="CountryCode" HeaderText="Country Code" /> </Columns> <FooterStyle BackColor="Tan" /> <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> <HeaderStyle BackColor="Tan" Font-Bold="True" /> <AlternatingRowStyle BackColor="PaleGoldenrod" /> </asp:GridView> </div> </form> </body> </html>default.aspx.cs
using System;using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
#region BIND GRID
private void BindGrid()
{
List<CountryEntity> countryList = new List<CountryEntity>();
CountryPersistence objCountry = new CountryPersistence();
countryList = objCountry.GetCountryList();
//Simple binding of grid using LIST
grdCountryList.DataSource = countryList;
grdCountryList.DataBind();
//Now we will start Linq. It will fetch all the data where country code length is less than 3
GridView1.DataSource = from country in countryList where country.CountryCode.Length < 3 orderby country.CountryName select country;
GridView1.DataBind();
//Where country ID between 31 to 70
GridView2.DataSource = from country in countryList where (country.CountryId >= 31 && country.CountryId <= 70) orderby country.CountryId select country;
GridView2.DataBind();
//Where country name Starts with "A"
GridView3.DataSource = from country in countryList where country.CountryName.StartsWith("A") select country;
GridView3.DataBind();
//Where country name with like query
GridView4.DataSource = from country in countryList where country.CountryName.Contains('z') orderby country.CountryName descending select country;
GridView4.DataBind();
}
#endregion
}
Download Code
No comments:
Post a Comment