Click here to Skip to main content
15,909,324 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have 10 column in gridview. I was put AllowSort = true so sort will aplly all column but I don't want to do that.

I want to put sort only 3-4 column . I don't have idea to how to do that so if any know then help me..


Thanks in advance.
Posted
Updated 5-Apr-16 2:10am
v2
Comments
Member 12242717 5-Apr-16 7:00am    
what was the question? be clear to your question
FARONO 5-Apr-16 7:08am    
You need to provide more details, such as datasource etc.

1 solution

Use 'SortExpression' to those columns only which you want to sort .


See for example in which column 'Melder' doesnot have SortExpression so you can't sort this column but other can sort :

ASP.NET
<asp:GridView ID="gvOutlookMeldingen" runat="server" 
    AllowSorting="True" 
    OnSorting="gvOutlookMeldingen_Sorting"
    AutoGenerateColumns="False" 
    AutoGenerateSelectButton="True" 
    onselectedindexchanged="GridView_SelectedIndexChanged">
    <Columns>
        <asp:BoundField DataField="Melder" HeaderText="Melder"  />
        <asp:BoundField DataField="Onderwerp" HeaderText="Onderwerp" SortExpression="Onderwerp" />
            <asp:TemplateField HeaderText="Omschrijving" SortExpression="Omschrijving">
                <ItemTemplate>
                    <div style="overflow:auto; width: 500px; height: 200px;">
                        <asp:Label ID="lblOmschrijving" runat="server" Text='<%# Bind("Omschrijving")%>'></asp:Label>
                    </div>
                </ItemTemplate>
            </asp:TemplateField>
        <asp:BoundField DataField="Meldingsdatum" HeaderText="Meldingsdatum" SortExpression="Meldingsdatum" />
        <asp:BoundField DataField="OutlookID" HeaderText="OutlookID" SortExpression="OutlookID" />
    </Columns>
</asp:GridView>




on code behind:

C#
protected void gvOutlookMeldingen_Sorting(object sender, GridViewSortEventArgs e)
{
    switch (e.SortExpression)
    {
        case "Melder":
        if (e.SortDirection == SortDirection.Ascending)
        {
            gvOutlookMeldingen.DataSource = // Asc query for Melder field;
            gvOutlookMeldingen.DataBind();
        }
        else
        {
            gvOutlookMeldingen.DataSource = // Desc query for Melder field ;
            gvOutlookMeldingen.DataBind();
        }
        break;
        // case statements for your other fields.
    }
}
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900