This article will show you how you can merge footer or apply
columnspan to header of gridview in asp.net using c#.net. In this we will
display header message in a single row of gridview header in a single row.
Some of my previous articles are as follows: Merge
Footer or Apply ColumnSpan to Footer of GridView In Asp.Net Using C#.Net, Display
Selected Row Value Of GridView In JavaScript Alert Message Asp.Net Using C#.Net, Detect
Checked CheckBox Indise GridView on Button Click In Asp.Net Using C#.Net, Page
Count Display in GridView Footer In Asp.Net Using C#.Net, GridView
Bind Using DataTable With Paging In Asp.Net Using C#.Net, Single
RadioButton Selection in GridView In Asp.Net Using C#.Net, Bind
and Validate GridView TextBox Value by jQuery In Asp.Net Using C#, Bind
and Validate GridView TextBox Value by RequiredFieldValidator In Asp.Net Using
C#, Populate
Data in GridView on DropdownList Selected Role in Asp.net Using C#.net, Search
and Display Data In GridView From Database Table In Asp.Net Using C#.Net, Read
XML File Data Using Linq Query and Add in DataTable to Bind GridView in Asp.net
Using C#.Net, Bind
& Search XML File Data and Display in GridView in Asp.net Using C#.Net,
Search
GridView Record on Button Click By Using C#.Net in Asp.Net.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1"
%>
<!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>Merge
Header or Apply ColumnSpan to Header of GridView In Asp.Net Using C#.Net
</title>
</head>
<body>
<form id="form1" runat="server">
<table width="100%" cellpadding="4" cellspacing="4">
<tr>
<td align="left">
<asp:GridView ID="GridView1" runat="server" Width="100%"
AutoGenerateColumns="False" onrowcreated="GridView1_RowCreated"
ShowFooter="True">
<Columns>
<asp:TemplateField HeaderText="This is a
header text eample">
<ItemTemplate>
<asp:Label ID="lblName"
runat="server"
Text='<%# Eval("Name") %>'></asp:Label>
</ItemTemplate>
<FooterStyle Font-Bold="True"
/>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblNamAddress"
runat="server"
Text='<%# Eval("Address") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblUserType"
runat="server"
Text='<%# Eval("UserType") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</form>
</body>
</html>
|
In above code I have use itemtemplate to bind the gridview
fields and used label control to display the value using Eval.
Now check the code to bind and display no of pages.
using System;
using System.Data.SqlClient;
using System.Data;
using System.Web.UI.WebControls;
using System.Collections;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected
void Page_Load(object
sender, EventArgs e)
{
if
(!IsPostBack)
{
GetDistinctValue();
}
}
private
void GetDistinctValue()
{
SqlConnection
con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["con"].ToString());
try
{
DataTable
objdt = new DataTable();
string
query = "select * from UserDetail;";
SqlDataAdapter
da = new SqlDataAdapter(query,
con);
con.Open();
da.Fill(objdt);
con.Close();
if
(objdt.Rows.Count > 0)
{
GridView1.DataSource =
objdt;
GridView1.DataBind();
}
}
catch
{
con.Close();
}
}
protected
void GridView1_RowCreated(object sender, GridViewRowEventArgs
e)
{
if
(e.Row.RowType == DataControlRowType.Header)
{
for
(int i = 0; i < GridView1.Columns.Count-1;
i++)
{
e.Row.Cells.RemoveAt(1);
}
e.Row.Cells[0].ColumnSpan =
GridView1.Columns.Count;
}
}
}
}
|
On above code I have used a function to bind the data. Now I
have I have added the. Now check the below code to merge the header of the
gridview.
protected void
GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if
(e.Row.RowType == DataControlRowType.Header)
{
for
(int i = 0; i < GridView1.Columns.Count-1;
i++)
{
e.Row.Cells.RemoveAt(1);
}
e.Row.Cells[0].ColumnSpan =
GridView1.Columns.Count;
}
}
|
In above code I have validated when the header row is
appearing. Now I have applied loop to remove the extra columns to display only
one cell in header. Now for merging the header cell ColumnSpan value have been
applied.
Now check the normal output without merging header.
Now we have done run the application to check the output.
0 comments:
Please let me know your view