用TemplateField中的Headertemplate替换HeaderText

时间:2014-05-19 19:22:08

标签: sorting webforms custom-attributes aspxgridview templatefield

我有一个带有templatefield列的gridview。 TemplateFields是这样的:

<asp:TemplateField HeaderText="Title" SortExpression="name" meta:resourcekey="BoundFieldResource1">
                                <ItemTemplate>
                                    <asp:Label ID="lblTitle" runat="server" 
                                        Text='<%# Bind("Name") %>' 
                                        meta:resourcekey="BoundFieldResource1"></asp:Label>
                                </ItemTemplate>

我必须为此列的标题添加自定义属性,因此我删除了HeaderText并添加了以下内容:

<Headertemplate>
         <asp:Label ID="lblTitleHeading" runat="server" Text="Title" data-custom="tbl-th_title_heading"></asp:Label>
</Headertemplate>

我的问题是,当我这样做时,它将打破该列的排序,我无法点击标题对其进行排序,我尝试更改为但但没有做任何事情。 我很感激你的回答。

1 个答案:

答案 0 :(得分:5)

好的我刚刚发现了如何做到这一点,我只需要将Label更改为LinkBut​​ton并添加CommandName =“Sort”和CommandArgument =“name”(或任何SortExpression)

<Headertemplate>
     <asp:LinkButton ID="lblTitleHeading" runat="server" Text="Title" data-custom="tbl-th_title_heading" CommandName="Sort" CommandArgument="name"></asp:LinkButton>