I wan to freeze my Header columns when Autogeneratecolumns=True. Please help me
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using BDRReports.BusinessLayer;
using BDRReports.DataTransferObject;
namespace BDRReports
{
public partial class CentreBorrowerANnalysis : System.Web.UI.Page
{
TypeOfficeBo objTypeOfficeBo = new TypeOfficeBo();
TypeOfficeDto objTypeOfficeDto = new TypeOfficeDto();
ResultDto objresultdto = new ResultDto();
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack)
{
FillOfficeType();
ViewState["sort"] = "ASC";
}
}
catch (Exception exMessage)
{
lblInformation.Text = exMessage.Message;
lblInformation.CssClass = "psssError";
}
}
private void FillOfficeType()
{
try
{
TypeOfficeBo objTypeOfficeBo = new TypeOfficeBo();
TypeOfficeDto objTypeOfficeDto = new TypeOfficeDto();
ResultDto objResultDto = new ResultDto();
objTypeOfficeDto.ReferBranchId = Convert.ToString(Session["UserofficeID"]);
objResultDto = objTypeOfficeBo.OfficeLoad(objTypeOfficeDto);
ddlReportsType.DataSource = objResultDto.ResultSet.Tables[0];
ddlReportsType.DataTextField = "ReportsType";
ddlReportsType.DataValueField = "Id";
ddlReportsType.DataBind();
ddlReportsType.Items.Insert(0, "[Select]");
}
catch (Exception exMessage)
{
lblInformation.Text = exMessage.Message;
lblInformation.CssClass = "psssError";
}
}
protected void btnFilter_Click(object sender, EventArgs e)
{
try
{
divBorrowerAnalysis.Visible = true;
grvCentreBorrowerAnalysis.Visible = false;
objTypeOfficeBo = new TypeOfficeBo();
objTypeOfficeDto = new TypeOfficeDto();
objresultdto = new ResultDto();
objTypeOfficeDto.Officetype = Convert.ToInt32(Session["officetype"]);
objTypeOfficeDto.ReferBranchId = Convert.ToString(Session["UserofficeId"]);
objTypeOfficeDto.ReportTypeId = Convert.ToInt64(ddlReportsType.SelectedValue);
objTypeOfficeDto.ReportDate = ConvertToSysDateTime(txtFromDate.Text);
objresultdto = objTypeOfficeBo.SearchCentreBorrowerAnalysis(objTypeOfficeDto);
Session["BorrowerAnalysis"] = objresultdto.ResultSet;
BindData(objresultdto.ResultSet.Copy());
}
catch (Exception exmessage)
{
lblInformation.Text = exmessage.Message;
}
}
public void BindData(DataSet objDataSet)
{
try
{
if (objDataSet.Tables.Count > 0)
{
if (objDataSet.Tables[0].Rows.Count > 0)
{
DataRow objDataRow = objDataSet.Tables[0].NewRow();
for (int i = 0; i < objDataSet.Tables[1].Columns.Count; i++)
{
objDataRow[objDataSet.Tables[0].Columns[i].ColumnName] = objDataSet.Tables[1].Rows[0][objDataSet.Tables[1].Columns[i].ColumnName];
}
//if(ddlReportsType.SelectedValue=="5" || ddlReportsType.SelectedValue=="6")
// objDataSet.Tables[0].Rows.InsertAt(objDataRow,0);
//else
objDataSet.Tables[0].Rows.Add(objDataRow);
grvCentreBorrowerAnalysis.DataSource = objDataSet.Tables[0];
grvCentreBorrowerAnalysis.DataBind();
grvCentreBorrowerAnalysis.Visible = true;
grvCentreBorrowerAnalysis.Visible = true;
}
else
{
divBorrowerAnalysis.Visible = false;
lblInformation.Text = "Sorry! No records Found.";
grvCentreBorrowerAnalysis.Visible = false;
}
}
else
{
divBorrowerAnalysis.Visible = false;
lblInformation.Text = "Sorry! No records Found.";
grvCentreBorrowerAnalysis.Visible = false;
}
}
catch (Exception exMessage)
{
throw exMessage;
}
}
int ConvertToSysDateTime(string strDate)
{
try
{
string[] Date = strDate.Split('/');
return Convert.ToInt32(Date[2] + Date[1] + Date[0]);
}
catch (Exception exMessage)
{
throw exMessage;
}
}
protected void btnClear_Click(object sender, EventArgs e)
{
try
{
ddlReportsType.SelectedIndex = 0;
txtFromDate.Text = "";
grvCentreBorrowerAnalysis.DataSource = null;
grvCentreBorrowerAnalysis.DataBind();
divBorrowerAnalysis.Visible = false;
lblInformation.Text = "";
}
catch (Exception exMessage)
{
lblInformation.Text = exMessage.Message;
lblInformation.CssClass = "psssError";
}
}
protected void grvCentreBorrowerAnalysis_RowDataBound(object sender, GridViewRowEventArgs e)
{
try
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
float flValue = 0;
decimal dcValue = 0;
int intValue = 0;
DateTime dtValue;
foreach (TableCell objTableCell in e.Row.Cells)
{
objTableCell.Text = objTableCell.Text.Replace("ZZZZZ", "");
if (DateTime.TryParse(objTableCell.Text, out dtValue))
{
objTableCell.HorizontalAlign = HorizontalAlign.Center;
}
else if (decimal.TryParse(objTableCell.Text, out dcValue) || float.TryParse(objTableCell.Text, out flValue) || int.TryParse(objTableCell.Text, out intValue))
{
objTableCell.HorizontalAlign = HorizontalAlign.Right;
objTableCell.Text = Int32.Parse(objTableCell.Text).ToString("n0");
}
else
{
objTableCell.HorizontalAlign = HorizontalAlign.Left;
}
}
}
}
catch (Exception exMessage)
{
throw exMessage;
}
}
protected void lnkExport_Click(object sender, EventArgs e)
{
try
{
DataSet objDataSet = new DataSet();
objDataSet = (DataSet)Session["BorrowerAnalysis"];
DataRow objDataRow = objDataSet.Tables[0].NewRow();
for (int i = 0; i < objDataSet.Tables[1].Columns.Count; i++)
{
objDataRow[objDataSet.Tables[0].Columns[i].ColumnName] = objDataSet.Tables[1].Rows[0][objDataSet.Tables[1].Columns[i].ColumnName];
}
objDataSet.Tables[0].Rows.Add(objDataRow);
string strReport = "CentreBorrowerAnalysis from " + txtFromDate.Text;
ExcelHelper.ToExcel(objDataSet.Tables[0], strReport, "CentreBorrowerAnalysis", Page.Response);
}
catch (Exception exMessage)
{
lblInformation.Text = exMessage.Message;
lblInformation.CssClass = "psssError";
}
}
protected void grvCentreBorrowerAnalysis_Sorting(object sender, GridViewSortEventArgs e)
{
try
{
DataSet dsSessionTable;
dsSessionTable = (DataSet)Session["BorrowerAnalysis"];
dsSessionTable.Tables[0].DefaultView.Sort = e.SortExpression + " " + ViewState["sort"].ToString();
ViewState["sort"] = (ViewState["sort"].ToString() == "ASC") ? "DESC" : "ASC";
DataSet dtBorrowerAnalysis = new DataSet();
dtBorrowerAnalysis.Tables.Add(dsSessionTable.Tables[0].DefaultView.ToTable());
dtBorrowerAnalysis.Tables.Add(dsSessionTable.Tables[1].Copy());
Session["BorrowerAnalysis"] = dtBorrowerAnalysis;
BindData(dtBorrowerAnalysis.Copy());
}
catch (Exception exMessage)
{
lblInformation.CssClass = "MSGError";
lblInformation.Text = exMessage.Message;
}
}
}
}
<%@ Page Title=".: Centre Borrower Analysis :." Language="C#" MasterPageFile="~/BDRReports.Master"
AutoEventWireup="true" CodeBehind="CentreBorrowerAnalysis.aspx.cs" Inherits="BDRReports.CentreBorrowerANnalysis" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript">
function checkDate(sender, args) {
if (sender._selectedDate > new Date()) {
alert("Future Date Not Allowed!");
document.getElementById("<%= txtFromDate.ClientID %>").value = '';
document.getElementById("<%= cefromdate.ClientID %>").focus();
sender._selectedDate = new Date();
// set the date back to the current date
sender._textbox.set_Value(sender._selectedDate.format(sender._format))
}
}
$("#datepicker9").datepicker({
dateFormat: 'dd-mm-yy',
minDate: 1,
beforeShowDay: disableSunday
});
// Custom function to Disable Sunday only in jquery calender
function disableSunday(date) {
var day = date.getDay();
return [(day == 7), ''];
}
</script>
</asp:Content>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:UpdatePanel ID="uppBDRPWP" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:PostBackTrigger ControlID="lnkExport" />
</Triggers>
<ContentTemplate>
<div align="center">
<div align="center">
<asp:Label ID="lblInformation" runat="server" Width="150px" Font-Bold="true" CssClass="psssError"
Text=""></asp:Label>
</div>
<br />
<div id="divCentreBorrowerAnalysis" runat="server" visible="true">
<table cellspacing="0" cellpadding="3" align="center">
<tr align="center">
<td align="center" class="title">
<asp:Label ID="lblScreenName" runat="server" Text="Centre Borrower Analysis" CssClass="welcometext"></asp:Label>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="10" cellpadding="0" align="center">
<tr>
<td style="width: 15%;">
<asp:Label ID="lblReportsType" runat="server" CssClass="psssLabel" Text="Reports Type"
Visible="true"></asp:Label>
</td>
<td style="width: 15%;">
<asp:DropDownList ID="ddlReportsType" runat="server" CssClass="psssDropDownList"
TabIndex="1" Visible="true">
</asp:DropDownList>
<asp:CompareValidator ID="cvddlReportsType" runat="server" ControlToValidate="ddlReportsType"
CssClass="psssError" Operator="NotEqual" ValueToCompare="[Select]" Display="Dynamic"
ErrorMessage="*" EnableClientScript="true" SetFocusOnError="true"></asp:CompareValidator>
</td>
<td style="width: 15%;">
<asp:Label ID="lblReportDate" runat="server" CssClass="psssLabel" Text="Report Date"
Visible="true"></asp:Label>
</td>
<td style="width: 25%;">
<asp:TextBox ID="txtFromDate" runat="server" CssClass="textbox_calender" Width="100px"
onkeypress="return false"></asp:TextBox>
<asp:RequiredFieldValidator ID="RVFromDate" runat="server" CssClass="psssError" ControlToValidate="txtFromDate"
ErrorMessage="*" Display="Dynamic" ForeColor="Red" SetFocusOnError="true"></asp:RequiredFieldValidator>
<cc1:CalendarExtender ID="cefromdate" runat="server" TargetControlID="txtfromdate"
CssClass="green" Format="dd/MM/yyyy" OnClientDateSelectionChanged="checkDate">
</cc1:CalendarExtender>
</td>
<td style="width: 30%;">
</td>
</tr>
<tr>
<td colspan="4">
</td>
<td align="left">
<asp:Button ID="btnFilter" runat="server" CssClass="psssButton" Text="Filter" OnClick="btnFilter_Click" />
<asp:Button ID="btnClear" runat="server" CssClass="psssButton" Text="Clear" OnClick="btnClear_Click" />
</td>
</tr>
</table>
</div>
<div id="divBorrowerAnalysis" runat="server" visible="false" style="text-align: left;">
<asp:Button ID="lnkExport" runat="server" Text="Export to Excel" CssClass="psssButton"
Visible="true" OnClick="lnkExport_Click" />
</div>
<br />
<div style="width: 100%; overflow: auto;">
<asp:GridView ID="grvCentreBorrowerAnalysis" runat="server" CssClass="GridViewStyle"
HeaderStyle-CssClass="gridhdr" RowStyle-CssClass="RowStyle" AlternatingRowStyle-CssClass="gridalt"
HeaderStyle-Wrap="true" RowStyle-Wrap="false" AutoGenerateColumns="true" AllowPaging="false"
OnRowDataBound="grvCentreBorrowerAnalysis_RowDataBound" Width="100%" OnSorting="grvCentreBorrowerAnalysis_Sorting"
AllowSorting="true" >
</asp:GridView>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>