ASP .NET GridView没有显示排序箭头

时间:2015-09-08 19:47:48

标签: c# asp.net visual-studio gridview

我有以下Gridview。我需要在每个列标题中排序箭头以进行排序。我已将AllowSorting属性设置为true。但它没有显示箭头。另外,我将SortExpression添加到模板字段。但它没有显示排序箭头。我无法理解这个问题。我该如何解决这个问题? 代码如下:

<asp:GridView ID="dgvCatReport" runat="server"
              AutoGenerateColumns="False" CellPadding="4"
              ForeColor="#333333" GridLines="None"
              AllowPaging="True"
              AllowSorting="true"
              OnPageIndexChanging="dgvCatReport_PageIndexChanging"
              PagerSettings-Mode="NumericFirstLast"
              PagerSettings-Position="TopAndBottom"
              PageSize="10"
              CssClass=" table table-striped  table-hover"
              AlternatingRowStyle-CssClass="alt"
              PagerStyle-CssClass="bs-pagination">
    <columns>
        <asp:templatefield headertext="Category Name" sortexpression="CatName">
            <itemtemplate>

                <h5><%# Eval("CatName") %></h5>

            </itemtemplate>
            <headerstyle horizontalalign="Left" />
            <itemstyle width="200px" />
        </asp:templatefield>

        <asp:templatefield headertext="Total Views" sortexpression="ReportCount">
            <itemtemplate>
                <span><%# Eval("ReportCount") %></span>

            </itemtemplate>
            <headerstyle horizontalalign="Left" />
            <itemstyle width="75px" />
        </asp:templatefield>


        <asp:templatefield headertext="Daily Views" sortexpression="DailyCount">
            <itemtemplate>
                <span><%# Eval("DailyCount") %></span>

            </itemtemplate>
            <headerstyle horizontalalign="Left" />
            <itemstyle width="75px" />
        </asp:templatefield>

        <asp:templatefield headertext="Weekly Views" sortexpression="WeeklyCount">
            <itemtemplate>
                <span><%# Eval("WeeklyCount") %></span>

            </itemtemplate>
            <headerstyle horizontalalign="Left" />
            <itemstyle width="75px" />
        </asp:templatefield>

        <asp:templatefield headertext="Monthly Views" sortexpression="MonthlyCount">
            <itemtemplate>
                <span><%# Eval("MonthlyCount") %></span>

            </itemtemplate>
            <headerstyle horizontalalign="Left" />
            <itemstyle width="75px" />
        </asp:templatefield>
    </columns>

    <%--   <pagersettings mode="NumericFirstLast" position="TopAndBottom"></pagersettings>

    <pagerstyle backcolor="White" cssclass="pgr"></pagerstyle>--%>
</asp:GridView>

1 个答案:

答案 0 :(得分:0)

我不确定Asp.net网格是否提供了用于排序的默认图像。但您仍然可以使用自定义方法来显示图像。

设置Gridview属性

SortedAscendingHeaderStyle-CssClass="sortasc"
SortedDescendingHeaderStyle-CssClass="sortdesc"

添加css类:

th.sortasc a  
{
   display:block; padding:0 4px 0 15px; 
   background:url("images/icons/ascArrow.png") no-repeat;
}

th.sortdesc a 
{
   display:block; padding:0 4px 0 15px; 
  background:url("images/icons/descArrow.png") no-repeat;
}