LinqDataSource.AutoGenerateOrderByClause プロパティ

定義

LinqDataSource コントロールが OrderByParameters コレクション内の値に基づいて Order By 句を動的に作成するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the LinqDataSource control dynamically creates an Order By clause based on values in the OrderByParameters collection.

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

プロパティ値

LinqDataSource コントロールで Order By 句を作成する場合に true します。それ以外の場合は、falseます。true if the LinqDataSource control creates the Order By clause; otherwise, false. 既定値は、false です。The default is false.

次の例は、AutoGenerateOrderByClausetrueに設定された LinqDataSource コントロールを示しています。The following example shows a LinqDataSource control with the AutoGenerateOrderByClause set to true. OrderByParameters コレクションには、ユーザーが DropDownList コントロールから選択したプロパティ名に基づいてデータを順序付けするパラメーターが含まれています。A parameter is included in the OrderByParameters collection that orders the data based on the property name that a user selects from a DropDownList control.

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

注釈

AutoGenerateOrderByClause プロパティを trueに設定すると、LinqDataSource コントロールは OrderByParameters コレクション内の値に基づいて Order By 句を動的に作成します。When you set the AutoGenerateOrderByClause property to true, the LinqDataSource control dynamically creates an Order By clause that is based on the values in the OrderByParameters collection. LinqDataSource コントロールは、最初のパラメーターを使用してデータを並べ替え、さらに追加のパラメーターごとにデータを並べ替えます。The LinqDataSource control sorts the data by the first parameter and then additionally sorts the data for each additional parameter. null または空の値を含むパラメーターは、Order By 句に含まれません。Parameters that contain null or an empty value are not included in the Order By clause.

AutoGenerateOrderByClausetrueに設定されている場合、パーサーは Order By 句を動的に作成するため、OrderBy プロパティを設定しません。You do not set the OrderBy property when the AutoGenerateOrderByClause is set to true, because the parser dynamically creates the Order By clause. AutoGenerateOrderByClausetrue に設定され、OrderBy プロパティに値が割り当てられている場合、LinqDataSource コントロールは例外をスローします。The LinqDataSource control throws an exception if the AutoGenerateOrderByClause is set to true and the OrderBy property is assigned values.

適用対象