Curtis
Curtis

Reputation: 685

I cannot make the headers of my gridview click able for sorting

I have a gridview that I populate based on a query to a db. I'm trying to add sorting on my gridview but I cannot make my column headers clickable. I have allow sorting set to true, and I have my OnSorting event set. My columns are of a few different types. I know the code I need to have in my code behind, but I cannot click on the headers for some reason. Any help on what I'm missing would be appreciated.

<asp:GridView ID="Grid1" runat="server"  
        AutoGenerateColumns="False" 
        OnSelectedIndexChanging="Selected_Row_Changing"
        DataKeyNames="ApplicationId"
        AllowPaging="True"
        OnPageIndexChanging="Grid1_PageIndexChanging"
        AllowSorting="True"
        OnSorting="Grid1_Sorting" 
        OnRowCreated="OnRowCreated"
        OnRowCommand="Grid1_RowCommand"
        OnRowDataBound="Grid1_RowDataBound">

        <Columns>
            <asp:templatefield ...>
                <itemtemplate>
                    <asp:linkbutton .../>
                </itemtemplate>
            </asp:templatefield>

            <asp:BoundField ... />

            <asp:HyperLinkField ... />

            <asp:ButtonField ...  />

        </Columns>
    </asp:GridView>

Upvotes: 0

Views: 3634

Answers (2)

user2246408
user2246408

Reputation: 1

Make sure you're not setting the Header Template but rather set the HeaderText attribute for the TemplateField

Upvotes: 0

Tim Schmelter
Tim Schmelter

Reputation: 460228

You don't have set the SortExpression, have you?

For example:

<asp:boundfield datafield="CompanyName"
     headertext="CompanyName"
     headerstyle-wrap="false"
     sortexpression="CompanyName"/>

Upvotes: 6

Related Questions