GridView.Sort(String, SortDirection) Metoda

Definice

Seřadí GridView ovládací prvek na základě zadaného výrazu a směru řazení.

public:
 virtual void Sort(System::String ^ sortExpression, System::Web::UI::WebControls::SortDirection sortDirection);
public virtual void Sort (string sortExpression, System.Web.UI.WebControls.SortDirection sortDirection);
abstract member Sort : string * System.Web.UI.WebControls.SortDirection -> unit
override this.Sort : string * System.Web.UI.WebControls.SortDirection -> unit
Public Overridable Sub Sort (sortExpression As String, sortDirection As SortDirection)

Parametry

sortExpression
String

Výraz řazení, pomocí kterého se má ovládací prvek seřadit GridView .

sortDirection
SortDirection

Jedna z SortDirection hodnot.

Výjimky

Ovládací GridView prvek je vázán na ovládací prvek zdroje dat, ale DataSourceView ke zdroji dat je nullpřidružený .

Příklady

Následující příklad ukazuje, jak použít metodu Sort k programovému řazení GridView ovládacího prvku podle více sloupců.


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void SortButton_Click(Object sender, EventArgs e)
  {

    String expression = "";
    SortDirection direction;

    // Create the sort expression from the values selected 
    // by the user from the DropDownList controls. Multiple
    // columns can be sorted by creating a sort expression
    // that contains a comma-separated list of field names.
    expression = SortList1.SelectedValue + "," + SortList2.SelectedValue;
    
    //  Determine the sort direction. The sort direction
    // applies only to the second column sorted.
    switch (DirectionList.SelectedValue)
    {
      case "Ascending":
        direction = SortDirection.Ascending;
        break;
      case "Descending":
        direction = SortDirection.Descending;
        break;
      default:
        direction = SortDirection.Ascending;
        break;
    }
    
    // Use the Sort method to programmatically sort the GridView
    // control using the sort expression and direction.
    CustomersGridView.Sort(expression, direction);
    
  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView Sort Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView Sort Example</h3>

      <table>
        <tr>
          <td>
             Sort by:
            <asp:dropdownlist ID="SortList1"
              runat="server">
              <asp:listitem Selected="true">CustomerID</asp:listitem>
              <asp:listitem>CompanyName</asp:listitem>
              <asp:listitem>Address</asp:listitem>
              <asp:listitem>City</asp:listitem>
              <asp:listitem>PostalCode</asp:listitem>
              <asp:listitem>Country</asp:listitem>
            </asp:dropdownlist>
          </td>
          <td colspan="2">
             
          </td>
        </tr>
        <tr>
          <td>
            Then by:
              <asp:dropdownlist ID="SortList2"
                runat="server">
                <asp:listitem Selected="true">CustomerID</asp:listitem>
                <asp:listitem>CompanyName</asp:listitem>
                <asp:listitem>Address</asp:listitem>
                <asp:listitem>City</asp:listitem>
                <asp:listitem>PostalCode</asp:listitem>
                <asp:listitem>Country</asp:listitem>
              </asp:dropdownlist>
          </td>
          <td>
             Sort order:      
          </td>
          <td>
            <asp:radiobuttonlist id="DirectionList"
              runat="server">
              <asp:listitem selected="true">Ascending</asp:listitem>
              <asp:listitem>Descending</asp:listitem>
            </asp:radiobuttonlist>
          </td>
        </tr>
      </table>

      <asp:button id="SortButton"
        text="Sort"
        onclick="SortButton_Click" 
        runat="Server"/>  

      <br/>
      <hr/>
      <br/>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSource" 
        autogeneratecolumns="true"
        emptydatatext="No data available." 
        allowpaging="true" 
        runat="server">
      </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="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub SortButton_Click(ByVal sender As Object, ByVal e As EventArgs)
    
    Dim expression As String = ""
    Dim direction As SortDirection

    ' Create the sort expression from the values selected 
    ' by the user from the DropDownList controls. Multiple
    ' columns can be sorted by creating a sort expression
    ' that contains a comma-separated list of field names.
    expression = SortList1.SelectedValue & "," & SortList2.SelectedValue
    
    ' Determine the sort direction. The sort direction
    ' applies only to the second column sorted.
    Select Case DirectionList.SelectedValue
    
      Case "Ascending"
        direction = SortDirection.Ascending
      Case "Descending"
        direction = SortDirection.Descending
      Case Else
        direction = SortDirection.Ascending

    End Select
    
    ' Use the Sort method to programmatically sort the GridView
    ' control using the sort expression and direction.
    CustomersGridView.Sort(expression, direction)
    
  End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView Sort Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>GridView Sort Example</h3>

      <table>
        <tr>
          <td>
             Sort by:
            <asp:dropdownlist ID="SortList1"
              runat="server">
              <asp:listitem Selected="true">CustomerID</asp:listitem>
              <asp:listitem>CompanyName</asp:listitem>
              <asp:listitem>Address</asp:listitem>
              <asp:listitem>City</asp:listitem>
              <asp:listitem>PostalCode</asp:listitem>
              <asp:listitem>Country</asp:listitem>
            </asp:dropdownlist>
          </td>
          <td colspan="2">
             
          </td>
        </tr>
        <tr>
          <td>
            Then by:
              <asp:dropdownlist ID="SortList2"
                runat="server">
                <asp:listitem Selected="true">CustomerID</asp:listitem>
                <asp:listitem>CompanyName</asp:listitem>
                <asp:listitem>Address</asp:listitem>
                <asp:listitem>City</asp:listitem>
                <asp:listitem>PostalCode</asp:listitem>
                <asp:listitem>Country</asp:listitem>
              </asp:dropdownlist>
          </td>
          <td>
             Sort order:      
          </td>
          <td>
            <asp:radiobuttonlist id="DirectionList"
              runat="server">
              <asp:listitem selected="true">Ascending</asp:listitem>
              <asp:listitem>Descending</asp:listitem>
            </asp:radiobuttonlist>
          </td>
        </tr>
      </table>

      <asp:button id="SortButton"
        text="Sort"
        onclick="SortButton_Click" 
        runat="Server"/>  

      <br/>
      <hr/>
      <br/>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSource" 
        autogeneratecolumns="true"
        emptydatatext="No data available." 
        allowpaging="true" 
        runat="server">
      </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>

Poznámky

Použijte metodu Sort k programovému řazení GridView ovládacího prvku pomocí zadaného výrazu a směru řazení. Výraz řazení určuje sloupec nebo sloupce, se kterými se má řadit. Pokud chcete seřadit více sloupců, vytvořte výraz řazení, který obsahuje seznam názvů polí oddělených čárkami. Směr řazení označuje, jestli se řazení provádí vzestupně nebo sestupně. Tato metoda se běžně používá, když potřebujete seřadit GridView ovládací prvek mimo ovládací prvek, například z jiného ovládacího prvku na stránce. Tato metoda se také běžně používá k programovému nastavení výchozího GridView pořadí řazení ovládacího prvku při prvním vykreslení. Volání této metody také vyvolá Sorted události a Sorting .

Platí pro

Viz také