【发布时间】:2012-08-07 04:47:56
【问题描述】:
我无法在不可排序的列标题上隐藏排序箭头。 我在 HeaderTemplate 部分中明确定义了可排序的列,在 ItemTemplate 中定义了不可排序的列,但是对于下面定义的第二个 TemplateField,排序箭头仍然出现。我错过了什么?
<asp:GridView ID="gvBeneficiary" runat="server" Width="100%" AllowPaging="True" CssClass="gridheader"
EmptyDataText=""
AutoGenerateColumns="False" PageSize="10"
OnPageIndexChanging="gvBeneficiary_PageIndexChanging" OnRowCommand="gvBeneficiary_RowCommand"
OnRowDataBound="gvBeneficiary_RowDataBound" HeaderStyle-CssClass="lhs">
<Columns>
<asp:TemplateField HeaderStyle-CssClass="lhs">
<HeaderTemplate>
<asp:LinkButton ID="lnkFullName" Text="Full Name"
CommandName="Sort" CommandArgument="FullName" runat="server"></asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<%#Eval("FullName") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkEdit" runat="server" CommandName="EditClick" CommandArgument='<%#Eval("RecipientID") %>'
Text="Edit">
</asp:LinkButton>
<asp:LinkButton ID="lnkDelete" runat="server" CommandName="DeleteClick" CommandArgument='<%#Eval("RecipientID") %>'
Text="Delete"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
【问题讨论】:
-
没有第二个模板字段的标题模板?
-
我实际上在 ItemTemplate 之前添加了空的
并且它没有做任何事情。 -
您想在不可排序的列标题上隐藏排序箭头,那么为什么要在标题模板中添加链接按钮?这是正确的方法吗,我不明白。
-
Waqar:仔细看,链接按钮不在HeaderTemplate中,它在ItemTemplate中,有区别。
-
另外,@FaNIX,如果您使用
lhs类在标题上显示排序箭头,那么您的问题可能是您在主 Gridview 属性部分定义了HeaderStyle-CssClass="lhs",而不是仅在需要它的 TemplateField 上。