ASP.NET C# gridview点击标题栏可以进行正反排序

来源:百度知道 编辑:UC知道 时间:2024/06/30 21:06:15
请大家注意,数据库用的是MySQL,不是SQL2000

事先我设置AllowSorting=true ,OnSorting="grid_Sorting"
我要实现的是点击标题栏"PRJ_CODE"之后,"PRJ_CODE"这一列可以进行正反排序.表格用的是gridview,开发软件是VS2005,ASP.NET.
以上是页面部分的.
接下来是CS代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["sortExp"] = "PRJ_CODE";
ViewState["sortDir"] = "Desc";
BindDataGrid();
grid.DataBind();
}
}

private void BindDataGrid()
{
dataservice = new DataService();

DataSet dsQuery = new DataSet();

ProjectInfo vInfo = new ProjectInfo();

vInfo.prj_Code = txtProjectCode.Text.Trim();
dataservice.ProcessProjectsQuery(vInfo, out dsQuery);

grid.DataSource = dsQuery;

grid.DataBind()

不要插在grid_Sorting中,放在BindDataGrid方法里,dataservice.ProcessProjectsQuery(vInfo, out dsQuery); 这句后面试试。
————————————
楼主不是用DataSource控件做的排序,是需要写代码的。
排序的话,需要DataView。如下示例:
DataView dv = new DataView(dsQuery.Tables[0]);
dv.Sort = ViewState["sortExp"].ToString() + " " + ViewState["sortDir"].ToString() ;
grid.DataSource = dv;
grid.DataBind();

你是用VS2005?

VS2005的gridview可以不需要代码就能进行排序

只需将它的属性allowsorting打开就可以

只是要allowsorting设为TURE就应没有问题
你把你的代码都注释了,再试一下

allowsorting打开吧