Замена HeaderText на Headertemplate в TemplateField

У меня есть gridview со столбцами поля шаблона. Поля TemplateField выглядят примерно так:

<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>

Моя проблема в том, что когда я это делаю, это нарушает сортировку этого столбца, и я больше не могу щелкнуть заголовок, чтобы отсортировать его, я пытался изменить на, но это ничего не дало. Буду признателен за ваши ответы.


person NvMat    schedule 19.05.2014    source источник


Ответы (1)


Хорошо, я только что узнал, как это сделать, мне просто нужно было изменить метку на LinkButton и добавить 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>

person NvMat    schedule 20.05.2014