LinqDataSource.Select プロパティ

定義

取得したデータに含まれるプロパティと計算値を取得または設定します。

public:
 property System::String ^ Select { System::String ^ get(); void set(System::String ^ value); };
public string Select { get; set; }
member this.Select : string with get, set
Public Property Select As String

プロパティ値

Select 句の作成に使用される文字列。

次の例は、 プロパティをデータ オブジェクト内のプロパティのサブセットに設定 Select する方法を示しています。

<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Select="new(Name, Category, Price)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Select="new(Name, Category, Price)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

次の例は、データのグループ化に使用されたプロパティの値を取得し、グループ化されたレコードの平均を取得する方法を示しています。 キーワードには Key 、データのグループ化に使用された プロパティが含まれています。 この例では、 Key プロパティの共有値を格納 ProductCategory します。

<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    GroupBy="Category"
    Select="new(Key as ProductCategory, 
            Average(Price) as AvePrice)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    GroupBy="Category"
    Select="new(Key as ProductCategory, 
            Average(Price) as AvePrice)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

注釈

プロパティを Select 設定しない場合、コントロールは LinqDataSource データ オブジェクトからすべてのプロパティ (データ列) を取得します。 プロパティを Select 使用して、オブジェクトからプロパティのサブセットを取得するか、データの取得時に新しい値を計算します。

取得するプロパティを指定するには、 プロパティを Select 、返されるデータに含めるプロパティの名前に設定します。

データ オブジェクトからプロパティのサブセットを取得する場合、コントロールは LinqDataSource 、プロパティで指定したプロパティのみを含むクラスを動的に Select 作成します。 また、データ オブジェクト内のプロパティではないプロパティを計算すると、クラスも動的に作成されます。 このような場合、クエリから返されるオブジェクトは、 プロパティで TableName 指定されたクラスのインスタンスではありません。 代わりに、 プロパティの メソッドをnewSelect使用して、クエリから新しいクラスが返されることを示す必要があります。 たとえば、これらのプロパティを超えるプロパティを FirstName 含むオブジェクトから プロパティと LastName プロパティのみを返すには、 プロパティを Selectnew(FirstName, LastName)設定します。 コントロールは LinqDataSource 、 メソッドで指定した新しいクラスを動的に new 作成します。

キーワードを As 使用して、選択した値に別名を割り当てることができます。 エイリアスを割り当てる場合は、エイリアス化されたプロパティを メソッドに new 含める必要があります。 コントロールの LinqDataSource 結果にバインドするデータ バインド コントロールは、エイリアスによって プロパティを参照する必要があります。 たとえば、 プロパティを Selectnew(Region As SalesRegion, Revenue / 1000 As RevenueThousands)設定すると、データ バインド コントロールは と の 2 つのプロパティ SalesRegionRevenueThousandsにアクセスできます。

次の表にnewSelect示す条件に従って、 プロパティで 関数を使用します。

選択 新規の使用
単一のプロパティ。 new 必要ありません。 Select="Category"
複数のプロパティ。 new 必要。 Select="new(Category, Name)"
エイリアスを持つ単一または複数のプロパティ。 new 必要。 Select="new(Category As CategoryGroup)"

データの自動変更を有効にしたいが、データ オブジェクトのすべてのプロパティを表示しない場合は、 プロパティを Select 設定しないでください。 代わりに、データ バインド コントロールを使用して表示を管理します。 コントロールまたは コントロールをDetailsView使用するGridView場合は、 または プロパティも に設定AutoGenerateRowsするAutoGenerateColumnsfalse必要があります。 データ バインド コントロールに表示されない値は、ビューステートに格納されます。 これらは、データ更新の実行時にデータ ソースに変更されずに渡されます。

クエリでデータをグループ化するときに、 プロパティに集計メソッドを Select 含めることができます。 次の集計メソッドを使用できます。

  • Count()

  • Average()

  • Sum()

  • Max()

  • Min()

  • Where(condition)

  • Any()

  • All(condition)

詳細については、「 LinqDataSource Web サーバー コントロールの概要 」および「 方法: LinqDataSource コントロールを使用してデータをグループ化および集計する」を参照してください。

データをグループ化するときに、 プロパティに、 プロパティを動的に作成する と ItSelectKeyめることができます。 プロパティは Key 、データのグループ化に使用された プロパティまたはプロパティの値を参照します。 たとえば、 という名前 Categoryのプロパティでグループ化した場合、プロパティには プロパティ内の Key 各一意の値が Category 含まれます。 プロパティは It 、データのグループ内の個々のレコードのコレクションを参照します。 プロパティを It 反復処理して、グループ化操作で統合された個々のレコードを取得できます。 たとえば、 という名前 Categoryのプロパティでグループ化した場合、 It プロパティには、 プロパティ内の共通の値を共有するすべての個々のレコードが Category 含まれます。

データを It グループ化するときに プロパティに キーワードを Select 含める場合は、キーワードにエイリアスを It 割り当てる必要があります。 LinqDataSourceエイリアスがない場合It、コントロールは例外をスローします。 キーワードにエイリアス Key を割り当てることができますが、これは必須ではありません。

適用対象