摘要:CODE-常用程式碼片段-GridView Sorting
private string GetSortDirection()
{
switch (GridViewSortDirection)
{
case "ASC":
GridViewSortDirection = "DESC";
break;
case "DESC":
GridViewSortDirection = "ASC";
break;
}
return GridViewSortDirection;
}
private string GridViewSortDirection //排序方式
{
get { return (String)ViewState["SortDirection"] ?? "ASC"; }
set { ViewState["SortDirection"] = value; }
}
private DataTable cvTbl2
{
get { return (DataTable)ViewState["cvTbl2"]; }
set { ViewState["cvTbl2"] = value; }
}
private string GridViewSortExpression //排序欄位
{
get { return (String)ViewState["SortExpression"] ?? string.Empty; }
set { ViewState["SortExpression"] = value; }
}
private DataView SortDataTable(DataTable dataTable, bool isPageIndexChanging)
{
if (dataTable != null)
{
DataView dataView = new DataView(dataTable);
//中文排序
dataView.Table.Locale = new System.Globalization.CultureInfo("zh-TW");
if (GridViewSortExpression != string.Empty)
{
if (isPageIndexChanging)
{ dataView.Sort = string.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection); }
else
{ dataView.Sort = string.Format("{0} {1}", GridViewSortExpression, GetSortDirection()); }
}
return dataView;
}
else
{ return new DataView(); }
}
//GridView 排序方法
protected void GridView_Sorting(object sender, GridViewSortEventArgs e)
{
GridViewSortExpression = e.SortExpression;
int pageIndex = gvabatmqc.PageIndex;
GridView.DataSource = SortDataTable(cvTbl2, false);
GridView.DataBind();
GridView.PageIndex = pageIndex;
}
//動作
protected void Button1_Click(object sender, EventArgs e)
{
DataTable dt=new DataTable();
cvTbl2 = dt;
gvabatmqc.DataSource = cvTbl2;
gvabatmqc.DataBind();
}