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)
,則數據綁定控制項可以存取兩個屬性和 SalesRegion
RevenueThousands
。
new
您會根據下表所列的條件,Select在屬性中使用 函式。
選取 | 使用新的 | 範例 |
---|---|---|
單一屬性。 | new 不需要。 |
Select="Category" |
多個屬性。 | new 需要。 |
Select="new(Category, Name)" |
具有別名的單一或多個屬性。 | new 需要。 |
Select="new(Category As CategoryGroup)" |
如果您想要啟用自動資料修改,但不想顯示資料物件中的所有屬性,請勿設定 Select 屬性。 相反地,請透過數據綁定控件管理顯示。 當您使用 DetailsView 控制項或控制項時GridView,也必須將 AutoGenerateColumns 或屬性設定AutoGenerateRows為 false
。 未顯示在數據綁定控件中的任何值都會儲存在檢視狀態中。 執行數據更新時,它們不會變更傳遞至數據源。
當您將查詢中的數據分組時,您可以在 屬性中包含 Select 匯總方法。 您可以使用下列匯總方法:
Count()
Average(
列)
Sum(
列)
Max(
列)
Min(
列)
Where(
condition)
Any()
All(
condition)
如需詳細資訊,請參閱 LinqDataSource Web 伺服器控件概觀 和 如何:使用 LinqDataSource 控件分組和匯總數據。
當您將資料分組時,您可以在 Key
屬性中包含 Select 和 It
,這些是動態建立的屬性。 屬性 Key
是指用來將數據分組的屬性或屬性中的值。 例如,如果您依名為 Category
的屬性分組,屬性 Key
將會包含 屬性中的每個 Category
唯一值。 屬性 It
是指數據群組中的個別記錄集合。 您可以逐一查看 屬性, It
以擷取群組作業中已合併的個別記錄。 例如,如果您依名為 Category
的屬性分組,則 It
屬性會包含共用 屬性中 Category
通用值的所有個別記錄。
如果您在群組數據時將 It
關鍵詞包含在 屬性中 Select ,則必須將別名指派給 It
關鍵詞。 如果沒有It
別名,控件LinqDataSource將會擲回例外狀況。 您可以將別名指派給 Key
關鍵詞,但這並非必要專案。
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應