2009-02-11 4 views
1

Quelqu'un peut-il dire à la fonction de trier les colonnes d'un gridview dans C# asp.net.Tri des colonnes dans un gridview dont la source de données est un oracle db

Le gridview est databound à une base de données oracle. Je voulais cliquer sur l'en-tête de la colonne pour trier les données. Je ne sais pas comment faire référence à l'en-tête lui-même utilise-t-il l'argument de l'expéditeur de la méthode gridview_sorting?

Merci

Répondre

2

dans le contrôle GridView définissez la propriété AllowSorting true

<asp:GridView runat="server" ID="gvItems" AllowSorting="true" ...> 

Dans HeaderTemplate de la colonne que vous souhaitez trier ces annonces définir la propriété SortExpression au champ du tempate est lié, si vous n'êtes pas à l'aide d'un HeaderTemplate et en utilisant un BoundField il devrait également être une propriété SortExpression

<asp:TemplateField SortExpression="ItemDescription" HeaderText="Item">... 

Mettre en œuvre le OnSorting meth od

A l'intérieur de OnSorting utiliser la deuxième paramerter (GridViewSortEventArgs) de savoir ce que l'expression de tri est et rebind votre gridview

protected void gv_Sorting(object sender, GridViewSortEventArgs e) 
{ 
    string fieldToSortOn = e.SortExpression; 

    //implement sort logic on datasource... 
} 

Cela devrait vous prendre un bon départ

+0

Great post! J'ai supprimé le mien, comme c'était presque une copie exacte de ceci, mais j'étais clairement trop lent;) –