Condividi tramite


LinqDataSource.AutoGenerateOrderByClause Proprietà

Definizione

Ottiene o imposta un valore che indica se il controllo LinqDataSource crea dinamicamente una clausola Order By in base ai valori della raccolta 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

Valore della proprietà

Boolean

true se il controllo crea la LinqDataSource clausola Order By; in caso contrario, false. Il valore predefinito è false.

Esempio

Nell'esempio seguente viene illustrato un LinqDataSource controllo con il AutoGenerateOrderByClause set su true. Un parametro è incluso nella OrderByParameters raccolta che ordina i dati in base al nome della proprietà selezionato da un utente da un DropDownList controllo.

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

Commenti

Quando si imposta la AutoGenerateOrderByClause proprietà su true, il LinqDataSource controllo crea dinamicamente una clausola Order By basata sui valori della OrderByParameters raccolta. Il LinqDataSource controllo ordina i dati in base al primo parametro e quindi ordina i dati per ogni parametro aggiuntivo. I parametri che contengono null o un valore vuoto non sono inclusi nella clausola Order By.

Non si imposta la OrderBy proprietà quando l'oggetto AutoGenerateOrderByClause è impostato su true, perché il parser crea dinamicamente la clausola Order By. Il LinqDataSource controllo genera un'eccezione se è AutoGenerateOrderByClause impostato su true e la OrderBy proprietà viene assegnata.

Si applica a