前台gridview视图属性设置
AllowSorting="True" OnSorting="dgvRequests10_Sorting"后台cs文件代码段
//排序功能
protected void dgvRequests_Sorting(object sender, GridViewSortEventArgs e)
{
// 从事件参数获取排序数据列
string sortExpression = e.SortExpression.ToString();
DataTable table = BLL.FileMgr.ListFidOrdbyRateErrQty(Hourly);
this.dgvRequests.DataSource = table;
this.dgvRequests.DataBind();
ViewState["table"] = table;
HighLightRows(Convert.ToDouble(this.lblCtrTarget.Text));
// 假定为排序方向为“顺序”
string sortDirection = "DESC";
// “ASC”与事件参数获取到的排序方向进行比较,进行GridView排序方向参数的修改
if (sortExpression == this.dgvRequests.Attributes["SortExpression"])
{
//获得下一次的排序状态
sortDirection =
(this.dgvRequests.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");
}
// 重新设定GridView排序数据列及排序方向
this.dgvRequests.Attributes["SortExpression"] = sortExpression;
this.dgvRequests.Attributes["SortDirection"] = sortDirection;
//this.bindGrid();
//获取GridView排序数据列及排序方向
sortExpression = this.dgvRequests.Attributes["SortExpression"];
sortDirection = this.dgvRequests.Attributes["SortDirection"];
// 调用业务数据获取方法
DataTable dtBind = ViewState["table"] as DataTable;
// 根据GridView排序数据列及排序方向设置显示的默认数据视图
if ((!string.IsNullOrEmpty(sortExpression)) && (!string.IsNullOrEmpty(sortDirection)))
{
string sort = string.Format("{0} {1}", sortExpression, sortDirection);
dtBind.DefaultView.Sort = sort;
}
// GridView绑定并显示数据
this.dgvRequests.DataSource = dtBind;
this.dgvRequests.DataBind();
HighLightRows(Convert.ToDouble(this.lblCtrTarget.Text));
}
本文介绍了一个使用ASP.NET GridView控件实现排序功能的方法。通过在后台CS文件中定义排序事件处理程序,能够根据用户的选择对GridView中的数据进行升序或降序排列,并更新数据显示。

4261

被折叠的 条评论
为什么被折叠?



