ASP.NET GridView SortedAscendingHeaderStyle不起作用
发布时间:2020-12-16 04:22:29 所属栏目:asp.Net 来源:网络整理
导读:我的SortedAscendingHeaderStyle和SortedDescendingHeaderStyle根本不起作用 asp:GridView ID="grdProducts" runat="server" CssClass="grid" AllowPaging="True" AllowSorting="True" PageSize="100" EmptyDataText="No data to show" onrowdatabound="grdP
我的SortedAscendingHeaderStyle和SortedDescendingHeaderStyle根本不起作用
<asp:GridView ID="grdProducts" runat="server" CssClass="grid" AllowPaging="True" AllowSorting="True" PageSize="100" EmptyDataText="No data to show" onrowdatabound="grdProducts_RowDataBound" onrowediting="grdProducts_RowEditing" onsorting="grdProducts_Sorting" AutoGenerateEditButton="True"> <AlternatingRowStyle CssClass="even" /> <SortedAscendingHeaderStyle ForeColor="White" CssClass="sorted" /> <SortedDescendingHeaderStyle CssClass="sorted desc" /> </asp:GridView> 单击标题时行正确排序,但是当我使用FireBug检查标题时,它只显示:(这是按升序排序时) <th scope="col"> <a href="javascript:__doPostBack('ctl00$body$ctl00$grdProducts','Sort$Namekey')">Namekey</a> </th> ForeColor和CssClass根本没有设置. 任何人都知道我做错了什么? 编辑:我的C#代码背后 protected void grdProducts_Sorting(object sender,GridViewSortEventArgs e) { if ((string)ViewState["SortColumn"] == e.SortExpression) ViewState["SortDirection"] = ((string)ViewState["SortDirection"] == "") ? " DESC" : ""; else { ViewState["SortColumn"] = e.SortExpression; ViewState["SortDirection"] = ""; } } protected override void OnPreRender(EventArgs e) { BindGrid(); base.OnPreRender(e); } private void BindGrid() { string query = "SELECT ... ORDER BY " + ViewState["SortColumn"] + ViewState["SortDirection"]; DataTable dt = SqlFunctions.Select(query); grdProducts.DataSource = dt; grdProducts.DataBind(); } 解决方法
如果您没有使用asp:SQLDataSource作为GridView数据源,我不确定SortedDescendingHeaderStyle是否在没有代码的情况下工作.但是一点编码可以帮助你.
您需要手动将CSS样式应用于标题单元格.您可以在Sorting事件中执行此操作. protected void grdProducts_Sorting(object sender,GridViewSortEventArgs e) { if ((string)ViewState["SortColumn"] == e.SortExpression) { ViewState["SortDirection"] = ((string)ViewState["SortDirection"] == "") ? " DESC" : ""; grdProducts.HeaderRow.Cells[GetColumnIndex( e.SortExpression )].CssClass = "AscendingHeaderStyle"; } else { ViewState["SortColumn"] = e.SortExpression; ViewState["SortDirection"] = ""; grdProducts.HeaderRow.Cells[GetColumnIndex( e.SortExpression )].CssClass = "DescendingHeaderStyle"; } BindGrid(); } private int GetColumnIndex( string SortExpression ) { int i = 0; foreach( DataControlField c in gvwCustomers.Columns ) { if( c.SortExpression == SortExpression ) break; i++; } return i; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在asp.net mvc 2中获取Html.EditorForModel()方法的tex
- DevExpress v17.2新版亮点—ASP.NET篇(二)
- ASP.NET 2.0中的Gridview列宽
- asp.net – 什么是Html.AntiForgeryToken帮助函数?
- asp.net-mvc – 如何检查是否为浏览器启用了cookie
- Asp.Net的FileUpload类实现上传文件实例
- asp.net – 如何在MVC 5中为OwinContext设置TimeOut
- asp.net-mvc – ASP.NET MVC在Html帮助器中使用部分渲染
- asp.net-mvc-4 – WebAPI OData 5.0 Beta – 访问GlobalCon
- asp.net-mvc – 什么是防伪令牌盐的使用?
推荐文章
站长推荐
- asp.net – DropDownList SelectedIndex值未在Au
- asp.net-mvc – 在ASP.NET MVC应用程序中测试Aut
- asp.net – 通过调用.ashx页面下载文件
- asp.net-mvc – 用于字符串的ASP.NET MVC显示模板
- asp.net-mvc – 如何在ASP.NET MVC中更改Url.Enc
- asp.net-mvc – ASP.NET MVC – 无法绑定数组以查
- 身份验证 – 我们可以在Asp.NET Core中销毁/无效
- asp.net-mvc-2 – 为什么我们在ASP.NET MVC中使用
- caching – MVC4 StyleBundle:你能在Debug模式下
- ASP.NET Core MVC base64映像到IFormFile
热点阅读