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()
事先我设置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打开吧