首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于onsorting的有关问题:小弟我点标题后页面只是刷新一下,并没有排序啊咋回事啊20分

2012-01-29 
关于onsorting的问题:我点标题后页面只是刷新一下,并没有排序啊,怎么回事啊?20分aspx里:formid form1

关于onsorting的问题:我点标题后页面只是刷新一下,并没有排序啊,怎么回事啊?20分
aspx里:

<form   id= "form1 "   runat= "server ">
<asp:GridView   AllowSorting= "True "   AllowPaging= "true "   pagesize= "12 "   AutoGenerateColumns= "False "   OnPageIndexChanging= "gvchange "   id= "gv "   OnSorting= "gvsort "   runat= "server ">
<Columns>
<asp:BoundField   DataField= "biaoti "   HeaderText= "标题 "   ReadOnly= "True "   SortExpression= "biaoti "/>
<asp:BoundField   DataField= "shijian "   HeaderText= "时间 "   SortExpression= "shijian "/>
</Columns>
</asp:GridView>
</form>


cs里:

                protected   void   gvsort(object   sender,   GridViewSortEventArgs   e)
        {
                ViewState[ "sortexpression "]   =   e.SortExpression;
                if   (ViewState[ "sortdirection "]   ==   null)
                {
                        ViewState[ "sortdirection "]   =   "asc ";
                }
                else
                {
                        if   (ViewState[ "sortdirection "].ToString()   ==   "asc ")
                        {
                                ViewState[ "sortdirection "]   =   "desc ";
                        }
                        else
                        {
                                ViewState[ "sortdirection "]   =   "asc ";
                        }
                }
                bindgv();
        }


无论我点标题字段还是时间字段都不排序,只是刷新了下页面,请问怎么回事啊?

[解决办法]
前台页面加:AllowSorting= "True " OnSortCommand= "dg_CorpInfo_SortCommand "
后台:
protected void dg_CorpInfo_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
if (ViewState[ "SortExpression "] != null)
{
if (ViewState[ "SortExpression "].ToString() == e.SortExpression.ToString())
{
string cSortExpression = " ";
if (ViewState[ "SortExpression "].ToString().Length > 5)
{
cSortExpression = ViewState[ "SortExpression "].ToString().Substring(ViewState[ "SortExpression "].ToString().Length - 5 - 1 , 5);


}
if (cSortExpression == " DESC ")
{
ViewState[ "SortExpression "] = e.SortExpression;
}
else
{
ViewState[ "SortExpression "] = e.SortExpression + " DESC ";
}
}
else
{
ViewState[ "SortExpression "] = e.SortExpression;
}
}
else
{
ViewState[ "SortExpression "] = e.SortExpression;
}

BindData_dg_CorpInfo();
}

[解决办法]
你重新绑定后,数据重新查询select * FROM aa,自然是按默认的排序

你可以在sql语句里并上那些排序的viewstate,
"select * FROM aa order by " + ViewState[ "SortExpression "]

热点排行