LinqDataSource.GroupBy Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau menetapkan nilai yang menentukan properti mana yang digunakan untuk mengelompokkan data yang diambil.
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
Nilai Properti
String yang digunakan untuk membuat klausa Kelompokkan Menurut.
Contoh
Contoh berikut menunjukkan LinqDataSource kontrol yang mengelompokkan data yang dikembalikan oleh properti bernama Category
. Ini mengembalikan nilai bersama dan menghitung harga rata-rata untuk rekaman yang dikelompokkan.
<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>
Contoh berikut menunjukkan LinqDataSource kontrol yang dikonfigurasi untuk mengelompokkan menurut dua kolom. Properti Key
mereferensikan objek yang memiliki dua properti, ProductCategory
dan Color
. Objek yang diwakili oleh It
diganti Products
namanya . Objek yang diganti Products
namanya berisi kumpulan rekaman individual dalam pengelompokan, dan setiap instans berisi semua kolom dari tabel Produk.
<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>
Contoh berikut menunjukkan dua ListView kontrol untuk menampilkan data dari LinqDataSource kontrol dalam contoh sebelumnya. Satu ListView kontrol menampilkan data yang dikelompokkan dan kontrol lainnya ListView menampilkan nama individual produk yang termasuk dalam grup tersebut. Properti kontrol DataSource terikat data berlapis diatur ke Products
, yang merupakan alias untuk It
objek .
<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>
Keterangan
Anda menggunakan GroupBy properti untuk menentukan properti mana yang digunakan untuk mengonsolidasikan rekaman data yang memiliki nilai yang sama. Misalnya, jika Anda mengatur GroupBy properti ke Name
, semua rekaman dalam kueri yang memiliki nilai properti yang sama Name
dikembalikan sebagai rekaman konsolidasi tunggal.
Anda dapat menetapkan lebih dari satu properti ke GroupBy properti dengan menyertakan semua properti dalam new
fungsi dan memisahkan setiap properti dengan menggunakan koma. Misalnya, untuk mengelompokkan menurut properti Name
lalu , atur properti ke GroupBynew(Name, Category)
.Category
Nilai dalam properti yang digunakan untuk pengelompokan dikembalikan melalui properti yang dihasilkan bernama Key
. Anda menyertakan Key
properti dalam Select properti untuk mengambil nilai yang dikelompokkan. Anda dapat mengatur properti ke Key
alias dengan menggunakan As
kata kunci, tetapi Anda tidak diharuskan menggunakan alias. Misalnya, Anda dapat mengatur properti ke GroupBy properti bernama Category
. Anda dapat mengambil nilai konsolidasi dari Category
properti dengan mengatur Select properti ke new(Key As ProductCategory)
.
Anda bisa mengakses rekaman individual dalam pengelompokan dengan menyertakan It
properti di Select properti . Properti It
berisi kumpulan rekaman yang berbagi nilai dalam properti yang dikelompokkan. Anda dapat melakukan iterasi melalui It
properti untuk mengambil rekaman individual.
Properti GroupBy sering digunakan dengan metode agregasi. Anda dapat menggunakan metode agregat berikut:
Count()
Average(
Kolom)
Sum(
Kolom)
Max(
Kolom)
Min(
Kolom)
Where(
kondisi)
Any()
All(
kondisi)
Untuk informasi selengkapnya, lihat Gambaran Umum Kontrol Server Web LinqDataSource dan Cara: Mengelompokkan dan Mengagregasi Data Menggunakan Kontrol LinqDataSource.
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk