LinqDataSource.Select プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
取得したデータに含まれるプロパティと計算値を取得または設定します。
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 指定されたクラスのインスタンスではありません。 代わりに、 プロパティの メソッドをnew
Select使用して、クエリから新しいクラスが返されることを示す必要があります。 たとえば、これらのプロパティを超えるプロパティを FirstName
含むオブジェクトから プロパティと LastName
プロパティのみを返すには、 プロパティを Select に new(FirstName, LastName)
設定します。 コントロールは LinqDataSource 、 メソッドで指定した新しいクラスを動的に new
作成します。
キーワードを As
使用して、選択した値に別名を割り当てることができます。 エイリアスを割り当てる場合は、エイリアス化されたプロパティを メソッドに new
含める必要があります。 コントロールの LinqDataSource 結果にバインドするデータ バインド コントロールは、エイリアスによって プロパティを参照する必要があります。 たとえば、 プロパティを Select に new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)
設定すると、データ バインド コントロールは と の 2 つのプロパティ SalesRegion
RevenueThousands
にアクセスできます。
次の表にnew
Select示す条件に従って、 プロパティで 関数を使用します。
選択 | 新規の使用 | 例 |
---|---|---|
単一のプロパティ。 | 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 コントロールを使用してデータをグループ化および集計する」を参照してください。
データをグループ化するときに、 プロパティに、 プロパティを動的に作成する と It
をSelect含Key
めることができます。 プロパティは Key
、データのグループ化に使用された プロパティまたはプロパティの値を参照します。 たとえば、 という名前 Category
のプロパティでグループ化した場合、プロパティには プロパティ内の Key
各一意の値が Category
含まれます。 プロパティは It
、データのグループ内の個々のレコードのコレクションを参照します。 プロパティを It
反復処理して、グループ化操作で統合された個々のレコードを取得できます。 たとえば、 という名前 Category
のプロパティでグループ化した場合、 It
プロパティには、 プロパティ内の共通の値を共有するすべての個々のレコードが Category
含まれます。
データを It
グループ化するときに プロパティに キーワードを Select 含める場合は、キーワードにエイリアスを It
割り当てる必要があります。 LinqDataSourceエイリアスがない場合It
、コントロールは例外をスローします。 キーワードにエイリアス Key
を割り当てることができますが、これは必須ではありません。
適用対象
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示