Udostępnij za pośrednictwem


LinqDataSource.AutoGenerateOrderByClause Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy kontrolka LinqDataSource dynamicznie tworzy klauzulę Order By na podstawie wartości w OrderByParameters kolekcji.

public:
 property bool AutoGenerateOrderByClause { bool get(); void set(bool value); };
public bool AutoGenerateOrderByClause { get; set; }
member this.AutoGenerateOrderByClause : bool with get, set
Public Property AutoGenerateOrderByClause As Boolean

Wartość właściwości

true jeśli kontrolka LinqDataSource tworzy klauzulę Order By; w przeciwnym razie false. Wartość domyślna to false.

Przykłady

W poniższym przykładzie pokazano kontrolkę LinqDataSource z ustawioną wartością AutoGenerateOrderByClausetrue. Parametr jest uwzględniany w OrderByParameters kolekcji, która porządkuje dane na podstawie nazwy właściwości wybranej przez użytkownika z kontrolki DropDownList .

<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
    <asp:ListItem Value="Category"></asp:ListItem>
    <asp:ListItem Value="Price"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    AutoGenerateOrderByClause="true"
    ID="LinqDataSource1" 
    runat="server">
    <OrderByParameters>
      <asp:ControlParameter
         ControlID="DropDownList1" 
         Type="String" />
    </OrderByParameters>
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
    <asp:ListItem Value="Category"></asp:ListItem>
    <asp:ListItem Value="Price"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    AutoGenerateOrderByClause="true"
    ID="LinqDataSource1" 
    runat="server">
    <OrderByParameters>
      <asp:ControlParameter
         ControlID="DropDownList1" 
         Type="String" />
    </OrderByParameters>
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

Uwagi

Po ustawieniu właściwości na true, kontrolka LinqDataSourceAutoGenerateOrderByClause dynamicznie tworzy klauzulę Order By, która jest oparta na wartościach OrderByParameters w kolekcji. Kontrolka LinqDataSource sortuje dane według pierwszego parametru, a następnie dodatkowo sortuje dane dla każdego dodatkowego parametru. Parametry zawierające null lub puste nie są uwzględniane w klauzuli Order By.

Właściwość nie jest ustawiana OrderBy , gdy AutoGenerateOrderByClause właściwość jest ustawiona na true, ponieważ analizator dynamicznie tworzy klauzulę Order By. Kontrolka LinqDataSource zgłasza wyjątek, jeśli AutoGenerateOrderByClause właściwość jest ustawiona na true , a OrderBy właściwość ma przypisane wartości.

Dotyczy