ASP.NET GridView SortedAscendingHeaderStyle不起作用
发布时间:2020-05-24 12:21:41 所属栏目:asp.Net 来源:互联网
导读:我的SortedAscendingHeaderStyle和SortedDescendingHeaderStyle根本不起作用 asp:GridView ID=grdProducts runat=server CssClass=grid AllowPaging=True AllowSorting=True PageSize=100 EmptyDataText=No dat
|
我的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会员 – asp.net会员 – 设置注释字段
- asp.net – 基类包含字段’X’,但其类型(System.Web.UI.Scr
- asp.net-mvc – ASP.NET MVC页面不通过3G或某些代理服务器提
- asp.net – 如何在.aspx页面中访问c#变量的值?
- asp.net MVC的Html.RadioButton生成id和名称相同
- asp.net-mvc – 我如何编写一个MVC3 / 4应用程序,它既可以作
- 如何从ASP.NET身份获取用户列表?
- Asp.Net:在iis中调试网站
- modelstate – asp.net mvc没有实体框架
- asp.net – 如何从url中删除returnurl?
推荐文章
站长推荐
- asp.net-mvc-3 – 方法“OrderBy”必须在方法“跳
- 验证 – 在编辑页面上保存时忽略必需属性
- asp.net – App_Code中的类无法通过Global.asax.
- asp.net – URL长度的最佳限制是什么? 100,200
- asp.net-mvc-4 – ASP.NET MVC 4单独项目中的区域
- asp.net-mvc – 在Html.ActionLink(MVC 4)中使用
- asp.net-mvc – 为什么在ASP.NET MVC中使用lambd
- ASP.NET MVC和FubuMVC之间的主要区别是什么?
- 如何在ASP.NET MVC中获得HttpResponse的引用?
- 如何将数组从Asp.net服务器端传递到客户端的Java
热点阅读
