LinqDataSource.Select 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 mengatur properti dan nilai terhitung yang disertakan dalam data yang diambil.
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
Nilai Properti
String yang digunakan untuk membuat klausa Pilih.
Contoh
Contoh berikut menunjukkan cara mengatur properti Select ke subset properti dalam objek data.
<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>
Contoh berikut menunjukkan cara mengambil nilai dalam properti yang telah digunakan untuk mengelompokkan data, dan untuk mengambil rata-rata untuk rekaman yang dikelompokkan. Kata kunci Key
berisi properti yang telah digunakan untuk mengelompokkan data. Dalam contoh ini, Key
akan berisi nilai bersama dari properti 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>
Keterangan
Jika Anda tidak mengatur properti Select, kontrol LinqDataSource mengambil semua properti (kolom data) dari objek data. Anda menggunakan properti Select untuk mengambil subset properti dari objek atau untuk menghitung nilai baru saat data diambil.
Anda menentukan properti mana yang akan diambil dengan mengatur properti Select ke nama properti yang ingin Anda sertakan dalam data yang dikembalikan.
Jika Anda mengambil subset properti dari objek data, kontrol LinqDataSource secara dinamis membuat kelas yang hanya berisi properti yang Anda tentukan di properti Select. Kelas juga dibuat secara dinamis jika Anda menghitung properti yang bukan properti dalam objek data. Dalam kasus ini, objek yang dikembalikan dari kueri bukan instans kelas yang ditentukan dalam properti TableName. Sebagai gantinya, Anda harus menggunakan metode new
di properti Select untuk menunjukkan bahwa kelas baru dikembalikan dari kueri. Misalnya, untuk mengembalikan properti FirstName
dan LastName
saja dari objek yang berisi lebih dari properti ini, atur properti Select ke new(FirstName, LastName)
. Kontrol LinqDataSource akan secara dinamis membuat kelas baru yang Anda tentukan dalam metode new
.
Anda dapat menggunakan kata kunci As
untuk menetapkan alias ke nilai yang dipilih. Jika Menetapkan alias, Anda harus menyertakan properti alias dalam metode new
. Kontrol terikat data apa pun yang mengikat hasil dari kontrol LinqDataSource harus merujuk ke properti oleh alias. Misalnya, jika Anda mengatur properti Select ke new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)
, kontrol terikat data dapat mengakses dua properti, SalesRegion
dan RevenueThousands
.
Anda menggunakan fungsi new
di properti Select sesuai dengan kondisi yang tercantum dalam tabel berikut.
Pilih | Penggunaan baru | Contoh |
---|---|---|
Properti tunggal. |
new tidak diperlukan. |
Select="Category" |
Beberapa properti. |
new diperlukan. |
Select="new(Category, Name)" |
Properti tunggal atau beberapa yang memiliki alias. |
new diperlukan. |
Select="new(Category As CategoryGroup)" |
Jika Anda ingin mengaktifkan modifikasi data otomatis, tetapi Anda tidak ingin menampilkan semua properti dari objek data, jangan atur properti Select. Sebagai gantinya, kelola tampilan melalui kontrol terikat data. Saat Anda menggunakan kontrol DetailsView atau kontrol GridView, Anda juga harus mengatur properti AutoGenerateRows atau AutoGenerateColumns ke false
. Nilai apa pun yang tidak ditampilkan dalam kontrol terikat data disimpan dalam status tampilan. Mereka diteruskan tidak berubah ke sumber data saat pembaruan data dilakukan.
Saat Mengelompokkan data dalam kueri, Anda bisa menyertakan metode agregat dalam properti Select. Anda dapat menggunakan metode agregat berikut:
Count()
kolom kolom kolom kolom kondisi Any()
kondisi
Untuk informasi selengkapnya, lihat Gambaran Umum Kontrol Server Web LinqDataSource dan Cara: Mengelompokkan dan Mengagregasi Data Menggunakan Kontrol LinqDataSource.
Saat mengelompokkan data, Anda dapat menyertakan Key
dan It
, yang merupakan properti yang dibuat secara dinamis, di properti Select. Properti Key
mengacu pada nilai dalam properti atau properti yang digunakan untuk mengelompokkan data. Misalnya, jika Anda mengelompokkan menurut properti bernama Category
, properti Key
akan berisi setiap nilai unik dalam properti Category
. Properti It
mengacu pada kumpulan rekaman individual dalam pengelompokan data. Anda dapat melakukan iterasi melalui properti It
untuk mengambil rekaman individual yang telah dikonsolidasikan dalam operasi pengelompokan. Misalnya, jika Anda mengelompokkan menurut properti bernama Category
, properti It
berisi semua rekaman individual yang berbagi nilai umum di properti Category
.
Jika Anda menyertakan kata kunci It
di properti Select saat mengelompokkan data, Anda harus menetapkan alias ke kata kunci It
. Kontrol LinqDataSource akan melemparkan pengecualian jika It
tidak memiliki alias. Anda dapat menetapkan alias ke kata kunci Key
, tetapi ini tidak diperlukan.