Change Gridview Header Text Dynamically At Runtime in Asp.Net
In this post i will let you know, that how can you change Gridview header text dynamically in Asp.Net at runtime.Here i am using a SQL Server database for backend, Table1 is table on which i am working on.
Table1
Column Name | Data Type | Allow Nulls |
Autoincrementno | int | No |
ProjectID | Varchar(20) | No |
Exclude | Varchar(10) | No |
Now insert some test data into Table1.
Design View:-
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="datagrid.aspx.cs" Inherits="datagrid" %> <!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="GridView1" runat="server"> </asp:GridView><br/> <asp:Button ID="Button1" runat="server" Text="Changing Header Text" onclick="Button1_Click" /> </div> </form> </body> </html>
Code:-
using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Data; using System.Configuration; public partial class datagrid : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string strcon = ConfigurationManager.ConnectionStrings["con"].ConnectionString; SqlConnection ocon = new SqlConnection(strcon); ocon.Open(); SqlCommand cmd = new SqlCommand("select autoincrementno,projectis,exclude from table1", ocon); SqlDataAdapter da= new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); GridView1.DataSource = dt; GridView1.DataBind(); } protected void Button1_Click(object sender, EventArgs e) { if (GridView1.Rows.Count > 0) { GridView1.HeaderRow.Cells[1].Text = "Project"; GridView1.HeaderRow.Cells[2].Text = "Status"; } } }
In this we are changing Gridview1 header ProjectID to Project and Exclude to Status on button click event.
Enjoy:)