GridView.SortExpression プロパティ
アセンブリ: System.Web (system.web.dll 内)


SortExpression プロパティを使用して、並べ替えられる 1 つ以上の列に関連付けられている並べ替え式を確認します。
![]() |
---|
GridView コントロールには、このプロパティを自動的に設定する組み込みの並べ替え機能があります。通常、このプロパティは、並べ替えられる 1 つ以上の列をプログラムによって確認する必要がある場合、または GridView コントロールに独自の並べ替え機能を追加する場合のみ使用します。 |

SortExpression プロパティを使用して、並べ替えられる列の名前を確認する方法を次のコード例に示します。
<%@ Page language="VB" %> <script runat="server"> Sub CustomersGridView_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs) ' Use the RowType property to determine whether the ' row being created is the header row. If e.Row.RowType = DataControlRowType.Header Then ' Call the GetSortColumnIndex helper method to determine ' the index of the column being sorted. Dim sortColumnIndex As Integer = GetSortColumnIndex() If sortColumnIndex <> -1 Then ' Call the AddSortImage helper method to add ' a sort direction image to the appropriate ' column header. AddSortImage(sortColumnIndex, e.Row) End If End If End Sub ' This is a helper method used to determine the index of the ' column being sorted. If no column is being sorted, -1 is returned. Function GetSortColumnIndex() As Integer ' Iterate through the Columns collection to determine the index ' of the column being sorted. Dim field As DataControlField For Each field In CustomersGridView.Columns If field.SortExpression = CustomersGridView.SortExpression Then Return CustomersGridView.Columns.IndexOf(field) End If Next Return -1 End Function ' This is a helper method used to add a sort direction ' image to the header of the column being sorted. Sub AddSortImage(ByVal columnIndex As Integer, ByVal row As GridViewRow) ' Create the sorting image based on the sort direction. Dim sortImage As New Image() If CustomersGridView.SortDirection = SortDirection.Ascending Then sortImage.ImageUrl = "~/Images/Ascending.jpg" sortImage.AlternateText = "Ascending Order" Else sortImage.ImageUrl = "~/Images/Descending.jpg" sortImage.AlternateText = "Descending Order" End If ' Add the image to the appropriate header cell. row.Cells(columnIndex).Controls.Add(sortImage) End Sub </script> <html> <body> <form runat="server"> <h3>GridView AllowSorting Example</h3> <asp:gridview id="CustomersGridView" datasourceid="CustomersSource" autogeneratecolumns="false" emptydatatext="No data available." allowsorting="true" onrowcreated="CustomersGridView_RowCreated" runat="server"> <columns> <asp:boundfield datafield="CustomerID" headertext="Customer ID" headerstyle-wrap="false" sortexpression="CustomerID"/> <asp:boundfield datafield="CompanyName" headertext="CompanyName" headerstyle-wrap="false" sortexpression="CompanyName"/> <asp:boundfield datafield="Address" headertext="Address" headerstyle-wrap="false" sortexpression="Address"/> <asp:boundfield datafield="City" headertext="City" headerstyle-wrap="false" sortexpression="City"/> <asp:boundfield datafield="PostalCode" headertext="Postal Code" headerstyle-wrap="false" sortexpression="PostalCode" /> <asp:boundfield datafield="Country" headertext="Country" headerstyle-wrap="false" sortexpression="Country"/> </columns> </asp:gridview> <!-- This example uses Microsoft SQL Server and connects --> <!-- to the Northwind sample database. Use an ASP.NET --> <!-- expression to retrieve the connection string value --> <!-- from the Web.config file. --> <asp:sqldatasource id="CustomersSource" selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void CustomersGridView_RowCreated(Object sender, GridViewRowEventArgs e) { // Use the RowType property to determine whether the // row being created is the header row. if (e.Row.RowType == DataControlRowType.Header) { // Call the GetSortColumnIndex helper method to determine // the index of the column being sorted. int sortColumnIndex = GetSortColumnIndex(); if (sortColumnIndex != -1) { // Call the AddSortImage helper method to add // a sort direction image to the appropriate // column header. AddSortImage(sortColumnIndex, e.Row); } } } // This is a helper method used to determine the index of the // column being sorted. If no column is being sorted, -1 is returned. int GetSortColumnIndex() { // Iterate through the Columns collection to determine the index // of the column being sorted. foreach (DataControlField field in CustomersGridView.Columns) { if (field.SortExpression == CustomersGridView.SortExpression) { return CustomersGridView.Columns.IndexOf(field); } } return -1; } // This is a helper method used to add a sort direction // image to the header of the column being sorted. void AddSortImage(int columnIndex, GridViewRow headerRow) { // Create the sorting image based on the sort direction. Image sortImage = new Image(); if (CustomersGridView.SortDirection == SortDirection.Ascending) { sortImage.ImageUrl = "~/Images/Ascending.jpg"; sortImage.AlternateText = "Ascending Order"; } else { sortImage.ImageUrl = "~/Images/Descending.jpg"; sortImage.AlternateText = "Descending Order"; } // Add the image to the appropriate header cell. headerRow.Cells[columnIndex].Controls.Add(sortImage); } </script> <html> <body> <form runat="server"> <h3>GridView AllowSorting Example</h3> <asp:gridview id="CustomersGridView" datasourceid="CustomersSource" autogeneratecolumns="false" emptydatatext="No data available." allowsorting="true" onrowcreated="CustomersGridView_RowCreated" runat="server"> <columns> <asp:boundfield datafield="CustomerID" headertext="Customer ID" headerstyle-wrap="false" sortexpression="CustomerID"/> <asp:boundfield datafield="CompanyName" headertext="CompanyName" headerstyle-wrap="false" sortexpression="CompanyName"/> <asp:boundfield datafield="Address" headertext="Address" headerstyle-wrap="false" sortexpression="Address"/> <asp:boundfield datafield="City" headertext="City" headerstyle-wrap="false" sortexpression="City"/> <asp:boundfield datafield="PostalCode" headertext="Postal Code" headerstyle-wrap="false" sortexpression="PostalCode" /> <asp:boundfield datafield="Country" headertext="Country" headerstyle-wrap="false" sortexpression="Country"/> </columns> </asp:gridview> <!-- This example uses Microsoft SQL Server and connects --> <!-- to the Northwind sample database. Use an ASP.NET --> <!-- expression to retrieve the connection string value --> <!-- from the Web.config file. --> <asp:sqldatasource id="CustomersSource" selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からGridView.SortExpression プロパティを検索する場合は、下記のリンクをクリックしてください。

- GridView.SortExpression プロパティのページへのリンク