Share via


LinqDataSource.AutoGenerateOrderByClause Propriedade

Definição

Obtém ou define um valor que indica se o controle LinqDataSource cria dinamicamente uma cláusula Order By com base nos valores na coleção OrderByParameters.

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

Valor da propriedade

Boolean

true se o LinqDataSource controle criar a cláusula Order By; caso contrário, false. O padrão é false.

Exemplos

O exemplo a seguir mostra um LinqDataSource controle com o AutoGenerateOrderByClause conjunto como true. Um parâmetro é incluído na OrderByParameters coleção que ordena os dados com base no nome da propriedade que um usuário seleciona de um DropDownList controle.

<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>

Comentários

Quando você define a AutoGenerateOrderByClause propriedade como true, o LinqDataSource controle cria dinamicamente uma cláusula Order By baseada nos valores da OrderByParameters coleção. O LinqDataSource controle classifica os dados pelo primeiro parâmetro e, em seguida, classifica os dados para cada parâmetro adicional. Parâmetros que contêm null ou um valor vazio não são incluídos na cláusula Order By.

Você não define a OrderBy propriedade quando está AutoGenerateOrderByClause definida como true, porque o analisador cria dinamicamente a cláusula Order By. O LinqDataSource controle gera uma exceção se a AutoGenerateOrderByClause propriedade estiver definida true e a OrderBy propriedade tiver valores atribuídos.

Aplica-se a