using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _CSS_E : System.Web.UI.UserControl
{
private bool _sorted = false;
private int _sortColumnIndex = -1;
private string _sortColumnHeader = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GRD ();
}
}
public void GRD()
{
DataTable data;
MySqlDataAdapter da;
data = new DataTable();
da = new MySqlDataAdapter("select * from XXXXX", conn);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
da.Fill(data);
GridView1.DataSource = data;
GridView1.DataBind();
}
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
ResolveGroupingData(e.SortExpression);
}
private void ResolveGroupingData(string sortExpression)
{
foreach (DataControlField field in GridView1.Columns)
{
if (field.SortExpression == sortExpression)
{
_sorted = true;
_sortColumnIndex = GridView1.Columns.IndexOf(field);
_sortColumnHeader = field.HeaderText;
}
}
}
protected override void Render(HtmlTextWriter writer)
{
if (_sorted)
{
Table table = (Table)GridView1.Controls[0];
Hashtable htLookUp = new Hashtable();
foreach (GridViewRow row in GridView1.Rows)
{
int realIndex = table.Rows.GetRowIndex(row);
string text = row.Cells[_sortColumnIndex].Text;
if (!htLookUp.ContainsKey(text))
{
htLookUp.Add(text, null);
GridViewRow newHeaderRow = new GridViewRow(realIndex, realIndex, DataControlRowType.DataRow, DataControlRowState.Normal);
TableCell newCell = new TableCell();
newHeaderRow.Cells.Add(newCell);
newCell.ColumnSpan = GridView1.Columns.Count;
newCell.BackColor = System.Drawing.Color.Gray;
newCell.ForeColor = System.Drawing.Color.White;
newCell.Font.Bold = true;
newCell.Text = string.Format(_sortColumnHeader, " : {0}", text);
table.Controls.AddAt(realIndex, newHeaderRow);
}
}
}
base.Render(writer);
}
}