LinqDataSource.GroupBy プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
取得したデータのグループ化に使用するプロパティを示す値を取得または設定します。
public:
property System::String ^ GroupBy { System::String ^ get(); void set(System::String ^ value); };
public string GroupBy { get; set; }
member this.GroupBy : string with get, set
Public Property GroupBy As String
プロパティ値
Group By 句の作成に使用される文字列。
例
次の例は、 という名前Category
のLinqDataSourceプロパティによって返されたデータをグループ化するコントロールを示しています。 共有値を返し、グループ化されたレコードの平均価格を計算します。
<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>
次の例は、 LinqDataSource 2 つの列でグループ化するように構成されているコントロールを示しています。 プロパティは Key
、 と という 2 つのプロパティ ProductCategory
を持つオブジェクトを Color
参照します。 で It
表されるオブジェクトの名前が に変更されます Products
。 名前が変更された Products
オブジェクトには、グループ化された個々のレコードのコレクションが含まれており、各インスタンスには Products テーブルのすべての列が含まれます。
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
GroupBy="new(ProductCategory, Color)"
Select="new(Key,
It As Products,
Max(ListPrice) As MaxListPrice,
Min(ListPrice) As MinListPrice)"
ID="LinqDataSource1"
runat="server">
</asp:LinqDataSource>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
GroupBy="new(ProductCategory, Color)"
Select="new(Key,
It As Products,
Max(ListPrice) As MaxListPrice,
Min(ListPrice) As MinListPrice)"
ID="LinqDataSource1"
runat="server">
</asp:LinqDataSource>
次の例は、前の例のコントロールのLinqDataSourceデータを表示するための 2 つのListViewコントロールを示しています。 1 つの ListView コントロールにはグループ化されたデータが表示され、もう 1 つの ListView コントロールにはそのグループに属する製品の個々の名前が表示されます。 入れ子になったデータ バインド コントロールの DataSource プロパティは、 オブジェクトのエイリアスIt
である にProducts
設定されます。
<asp:ListView
DataSourceID="LinqDataSource1"
ID="ListView1" runat="server">
<LayoutTemplate>
<table id="Table1"
style="background-color:Teal;color:White"
runat="server"
class="Layout">
<thead>
<tr>
<th><b>Product Category</b></th>
<th><b>Color</b></th>
<th><b>Highest Price</b></th>
<th><b>Lowest Price</b></th>
</tr>
</thead>
<tr runat="server" id="itemPlaceholder">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("key.ProductCategory") %></td>
<td><%# Eval("key.Color") %></td>
<td><%# Eval("MaxListPrice") %></td>
<td><%# Eval("MinListPrice") %></td>
</tr>
<tr>
<td colspan="4" style="width:100%;background-color:White;color:Black">
<asp:ListView
DataSource='<%# Eval("Products") %>'
runat="server"
ID="ListView2">
<LayoutTemplate>
<div runat="server" id="itemPlaceholder" />
</LayoutTemplate>
<ItemTemplate>
<%# Eval("ProductName") %><br />
</ItemTemplate>
</asp:ListView>
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<asp:ListView
DataSourceID="LinqDataSource1"
ID="ListView1" runat="server">
<LayoutTemplate>
<table id="Table1"
style="background-color:Teal;color:White"
runat="server"
class="Layout">
<thead>
<tr>
<th><b>Product Category</b></th>
<th><b>Color</b></th>
<th><b>Highest Price</b></th>
<th><b>Lowest Price</b></th>
</tr>
</thead>
<tr runat="server" id="itemPlaceholder">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("key.ProductCategory") %></td>
<td><%# Eval("key.Color") %></td>
<td><%# Eval("MaxListPrice") %></td>
<td><%# Eval("MinListPrice") %></td>
</tr>
<tr>
<td colspan="4" style="width:100%;background-color:White;color:Black">
<asp:ListView
DataSource='<%# Eval("Products") %>'
runat="server"
ID="ListView2">
<LayoutTemplate>
<div runat="server" id="itemPlaceholder" />
</LayoutTemplate>
<ItemTemplate>
<%# Eval("ProductName") %><br />
</ItemTemplate>
</asp:ListView>
</td>
</tr>
</ItemTemplate>
</asp:ListView>
注釈
プロパティを GroupBy 使用して、同じ値を持つデータ レコードを統合するために使用するプロパティを指定します。 たとえば、 プロパティを GroupBy に Name
設定すると、同じ Name
プロパティ値を持つクエリ内のすべてのレコードが 1 つの統合レコードとして返されます。
関数内のすべてのプロパティを囲み、コンマを GroupBy 使用して各プロパティ new
を区切ることで、プロパティに複数のプロパティを割り当てることができます。 たとえば、 プロパティでグループ化し、 プロパティName
を GroupBy にnew(Name, Category)
設定しますCategory
。
グループ化に使用される プロパティの値は、 という名前 Key
の生成されたプロパティを通じて返されます。 グループ化された値を Key
取得するには、 Select プロパティに プロパティを含めます。 キーワードを Key
使用 As
してプロパティをエイリアスに設定できますが、エイリアスを使用する必要はありません。 たとえば、 プロパティを という名前Category
のGroupByプロパティに設定できます。 プロパティから統合値を取得するには、 プロパティを Category
Select に new(Key As ProductCategory)
設定します。
プロパティに プロパティを含めることで、グループ化内の個々の It
レコードに Select アクセスできます。 プロパティには It
、グループ化されたプロパティの値を共有するレコードのコレクションが含まれています。 プロパティを It
反復処理して、個々のレコードを取得できます。
プロパティは GroupBy 、多くの場合、集計メソッドで使用されます。 次の集計メソッドを使用できます。
Count()
Average(
列)
Sum(
列)
Max(
列)
Min(
列)
Where(
condition)
Any()
All(
condition)
詳細については、「 LinqDataSource Web サーバー コントロールの概要 」および「 方法: LinqDataSource コントロールを使用してデータをグループ化および集計する」を参照してください。
適用対象
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示