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 절을 만드는 데 사용되는 문자열입니다.
예제
다음 예제에서는 반환된 데이터를 명명된 LinqDataSource 속성으로 그룹화하는 컨트롤을 보여 주는 예제입니다 Category
. 공유 값을 반환하고 그룹화된 레코드의 평균 가격을 계산합니다.
<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 줍니다. 이 속성은 Key
두 개의 속성 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 컨트롤의 데이터를 표시하기 위한 두 개의 ListView 컨트롤을 보여 줍니다. 한 ListView 컨트롤은 그룹화된 데이터를 표시하고 다른 ListView 컨트롤은 해당 그룹에 속한 제품의 개별 이름을 표시합니다. 중첩된 데이터 바인딩된 컨트롤의 DataSource 속성이 개체의 별칭인 것으로 설정 Products
됩니다 It
.
<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
쿼리의 모든 레코드가 단일 통합 레코드로 반환됩니다.
함수의 모든 속성을 묶고 쉼표로 각 속성을 GroupBy 구분하여 속성에 new
둘 이상의 속성을 할당할 수 있습니다. 예를 들어 속성을 Name
그룹화한 다음 Category
속성을 .로 설정합니다 GroupBy new(Name, Category)
.
그룹화에 사용되는 속성의 값은 명명 Key
된 생성된 속성을 통해 반환됩니다. 그룹화된 값을 검색하기 위해 속성에 속성을 Select 포함합니다Key
. 키워드를 Key
사용하여 As
속성을 별칭으로 설정할 수 있지만 별칭을 사용할 필요는 없습니다. 예를 들어 속성을 명명Category
된 GroupBy 속성으로 설정할 수 있습니다. 속성을 .로 설정 Select 하여 속성에서 Category
통합된 값을 검색할 new(Key As ProductCategory)
수 있습니다.
속성에 속성을 포함하여 It
그룹화의 개별 레코드에 Select 액세스할 수 있습니다. 속성에는 It
그룹화된 속성의 값을 공유하는 레코드 컬렉션이 포함됩니다. 속성을 반복 It
하여 개별 레코드를 검색할 수 있습니다.
이 GroupBy 속성은 종종 집계 메서드와 함께 사용됩니다. 다음 집계 메서드를 사용할 수 있습니다.
Count()
Average(
열)
Sum(
열)
Max(
열)
Min(
열)
Where(
조건)
Any()
All(
조건)
자세한 내용은 LinqDataSource 웹 서버 컨트롤 개요 및 방법: LinqDataSource 컨트롤을 사용하여 데이터 그룹화 및 집계를 참조하세요.