Dynamic GridView and DataList in ASP.NET 2.0
page 7 of 10
by Satheesh Babu
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 86042/ 87

Constructing Dynamic GridView

Displaying the articles in gridview will be different from displaying in datalist. For achieving this, I have created two Template classes,

·         DynamicGridViewTextTemplate

·         DynamicGridViewURLTemplate.

DynamicGridViewTextTemplate class is used to add a template column with label while DynamicGridViewURLTemplate class is used to add the URL of the article.

Listing 5: TemplateClass for GridView

public class DynamicGridViewTextTemplate : ITemplate
    string _ColName;
    DataControlRowType _rowType;
    int _Count;
    public DynamicGridViewTextTemplate(string ColName, DataControlRowType RowType)
        _ColName = ColName;
        _rowType = RowType;
    public DynamicGridViewTextTemplate(DataControlRowType RowType, 
      int ArticleCount)
        _rowType = RowType;
        _Count = ArticleCount;
    public void InstantiateIn(System.Web.UI.Control container)
        switch (_rowType)
            case DataControlRowType.Header:
                Literal lc = new Literal();
                lc.Text = "<b>" + _ColName + "</b>";
            case DataControlRowType.DataRow:               
                 Label lbl = new Label();
                 lbl.DataBinding += new EventHandler(this.lbl_DataBind);
            case DataControlRowType.Footer:
                Literal flc = new Literal();
                flc.Text = "<b>Total No of Articles:" + _Count + "</b>";
    private void lbl_DataBind(Object sender, EventArgs e)
        Label lbl  = (Label)sender;
        GridViewRow row = (GridViewRow)lbl.NamingContainer;
        lbl.Text =DataBinder.Eval(row.DataItem, _ColName).ToString();
public class DynamicGridViewURLTemplate : ITemplate
    string _ColNameText;
    string _ColNameURL;
    DataControlRowType _rowType;
    public DynamicGridViewURLTemplate(string ColNameText, 
       string ColNameURL, DataControlRowType RowType)
        _ColNameText = ColNameText;
        _rowType = RowType;
        _ColNameURL = ColNameURL;
    public void InstantiateIn(System.Web.UI.Control container)
        switch (_rowType)
            case DataControlRowType.Header:
                Literal lc = new Literal();
                lc.Text = "<b>" + _ColNameURL + "</b>";
            case DataControlRowType.DataRow:
                HyperLink hpl = new HyperLink();
                hpl.Target = "_blank";
                hpl.DataBinding += new EventHandler(this.hpl_DataBind);
    private void hpl_DataBind(Object sender, EventArgs e)
        HyperLink hpl = (HyperLink)sender;
        GridViewRow row = (GridViewRow)hpl.NamingContainer;
        hpl.NavigateUrl = DataBinder.Eval(row.DataItem, _ColNameURL).ToString();
        hpl.Text = "<div class=\"Post\"><div class=\"PostTitle\">" + 
         DataBinder.Eval(row.DataItem, _ColNameText).ToString() + "</div></div>";

View Entire Article

User Comments

Title: aaaa   
Name: aaaa
Date: 2012-10-19 12:48:33 AM
Title: 6u5u75   
Name: 657657
Date: 2012-10-19 12:48:18 AM
Title: sgrryry   
Name: ryryytr
Date: 2012-08-18 9:00:37 AM
Title: 2012 NFL jerseys   
Name: NIKE NFL jerseys
Date: 2012-05-20 11:33:16 PM
[/pre]Cheap NFL,NBA,MLB,NHL
[url=http://www.jersey2shop.com/]Jerseys From China[/url]
[url=http://www.jersey2shop.com/]2012 nike nfl Jerseys[/url]
[url=http://www.jersey2shop.com/]cheap China Jerseys[/url]
[url=http://www.jersey2shop.com/]Sports Jerseys China[/url]
[url=http://www.jersey2shop.com/NFL-Jerseys-c68/]NFL Jerseys China[/url]
[url=http://www.jersey2shop.com/NBA-Jerseys-c77/]NBA Jerseys China[/url]
NHL Jerseys China
[url=http://www.jersey2shop.com/MLB-Jerseys-c94/]MLB Jerseys China[/url]NFL jerseys For Sale online.All Our Jerseys Are Sewn On and Directly From Chinese Jerseys Factory
[pre]We Are Professional China jerseys Wholesaler
[url=http://www.cheapjersey2store.com/]Wholesale cheap jerseys[/url]Cheap mlb jerseys
[url= http://www.cheapjersey2store.com/]2012 mlb all atar jerseys[/url]
[url= http://www.cheapjersey2store.com/ [/url]Cheap China Wholesael[/url]
[url= http://www.cheapjersey2store.com/]Wholesale jerseys From China[/url]
[url=http://www.cheapjersey2store.com/]2012 nike nfl Jerseys[/url]Free Shipping,Cheap Price,7 Days Deliver
We are professional jerseys manufacturer from china,wholesal
sports [url= http://www.cheapjersey2store.com/]Jerseys From China[/url]
[url=http://www.cheapjersey2store.com/NFL-Jerseys-c68]NFL jerseys China[/url]
[url=http://www.cheapjersey2store.com/NHL-Jerseys-c96/]NHL Jerseys China[/url]
[url=http://www.cheapjersey2store.com/NBA-Jerseys-c77/]NBA Jerseys China[/url]
[url=http://www.cheapjersey2store.com/MLB-Jerseys-c94/]MLB Jerseys China[/url]
[url= http://www.cheapjersey2store.com/]China Jerseys[/url],Free Shipping
We are professional jerseys manufacturer from china,wholesal
sports [url= http://www.jerseycaptain.com/]cheap jerseys sale online [/url]
[url= http://www.jerseycaptain.com/]2012 nike nfl Jerseys[/url]
[url=http://www.jerseycaptain.com/NFL-Jerseys-c68]cheap NFL jerseys China[/url]
[url=http://www.jerseycaptain.com/NHL-Jerseys-c96/]NHL Jerseys C
Title: good article   
Name: Mahmoud ALGoul
Date: 2011-02-02 5:51:30 AM
cool article, but how I can add paging for the code, any help please.
Title: FANTASTIC!!   
Name: André
Date: 2010-03-12 5:02:57 PM
Thank You!! Great job and easy to understand..
Title: web filtering policy   
Name: adel
Date: 2009-07-29 5:47:19 AM
i need to design web filtering policy
Title: Itemplate funtion not working   
Name: Prabhat Sinha
Date: 2009-06-25 7:17:46 AM
its really good work in C# but itemplete funtion not working in vb.net please help me
Title: If items dissapear in postback   
Name: TiagoReil
Date: 2009-06-16 1:23:08 PM
I had to do something like this, and had lots of problems. First of all, when you do a postback, you loose all the dinamic templates. Not databounts added dinamically, but only the ones that are templates disapear always. So I run the code on every postback. But then the events in the grid, that are loaded dinamically, started acting strange. Runing events that had already run, etc.

The solution and correct way to do this is to add all the code for adding columns on the PreInit event. Thats the correct place to add the creation of the columns.

Title: Great example   
Name: Vijay
Date: 2009-06-06 3:36:28 AM
What is DynamicGrid_RowDataBound doing?
Title: Working example   
Name: Mindaugas
Date: 2009-06-03 5:05:06 AM
Working example. Thank you!
Title: Dynamic GridView   
Name: Shaju M.K
Date: 2009-02-12 5:38:02 PM
Hi Satheesh Babu,
Really its a very nice article that helped me to solve the issue that I faced in the development stage.

Thank You Very much!
Title: JSON LINQ   
Name: willian brasil
Date: 2008-10-03 1:18:03 PM
Very Good!
Title: Data List   
Name: Deleep Kumar Pavana
Date: 2008-09-11 5:03:07 AM
Hi satheesh,
Its good but repeat colomns property is not working properly on that,if i use table tag to display data in table format..
Title: Good Work ....   
Name: Mudassar C
Date: 2008-07-17 1:09:10 AM
Hi Sateesh,
Its a really good article to read..
Good piece of Code..

Mudassar Chandle
Title: Data List And GridView   
Name: Santosh Kumar
Date: 2008-06-24 3:36:54 AM
Hi Satheesh,
I read this article , good work done.
Santosh Kumar
Title: VB Please   
Name: Matt
Date: 2008-06-03 1:11:24 AM
Any chance I can get this in VB?
Title: problem with binding   
Name: Kannan
Date: 2008-05-15 2:51:40 AM
All item template values displayed at once.no reapeated datalist display
Title: muhajiran bugok   
Name: muhajiran bugok
Date: 2008-05-09 6:43:36 AM
this is very helpful..
-putang ina nyo lahat
Title: sivaram   
Name: sivaram
Date: 2008-02-04 1:47:59 AM

hi i read your article.it is well and good article.

Product Spotlight
Product Spotlight 

Community Advice: ASP | SQL | XML | Regular Expressions | Windows

©Copyright 1998-2022 ASPAlliance.com  |  Page Processed at 2022-01-20 6:24:08 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search