LinqDataSource.Select Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví vlastnosti a počítané hodnoty, které jsou zahrnuty v načtených datech.
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
Hodnota vlastnosti
Řetězec, který se používá k vytvoření klauzule Select.
Příklady
Následující příklad ukazuje, jak nastavit Select vlastnost na podmnožinu vlastností v datovém objektu.
<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>
Následující příklad ukazuje, jak načíst hodnoty ve vlastnosti, která byla použita k seskupení dat, a k načtení průměru pro seskupené záznamy. Klíčové Key
slovo obsahuje vlastnost, která byla použita pro seskupování dat. V tomto příkladu Key
bude obsahovat sdílené hodnoty z ProductCategory
vlastnosti .
<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>
Poznámky
Pokud vlastnost nenastavíte Select , LinqDataSource ovládací prvek načte všechny vlastnosti (datové sloupce) z datového objektu. Vlastnost slouží Select k načtení podmnožiny vlastností z objektu nebo k výpočtu nových hodnot při načítání dat.
Vlastnosti, které se mají načíst, určíte nastavením Select vlastnosti na názvy vlastností, které chcete zahrnout do vrácených dat.
Pokud načtete podmnožinu vlastností z datového objektu LinqDataSource , ovládací prvek dynamicky vytvoří třídu, která obsahuje pouze vlastnosti, které zadáte ve Select vlastnosti. Třída se také vytváří dynamicky, pokud vypočítáte vlastnosti, které nejsou vlastnostmi v datovém objektu. V těchto případech objekt vrácený z dotazu není instancí třídy, která je zadána TableName ve vlastnosti. Místo toho je nutné použít metodu new
ve Select vlastnosti k označení, že je z dotazu vrácena nová třída. Chcete-li například vrátit pouze FirstName
vlastnosti a LastName
z objektu, který obsahuje více než tyto vlastnosti, nastavte Select vlastnost na new(FirstName, LastName)
hodnotu . Ovládací LinqDataSource prvek dynamicky vytvoří novou třídu, kterou jste zadali new
v metodě.
Pomocí klíčového As
slova můžete přiřadit alias vybrané hodnotě. Pokud přiřadíte alias, musíte do new
metody zahrnout vlastnosti aliasů. Všechny ovládací prvky vázané na data, které jsou vázány na výsledky z LinqDataSource ovládacího prvku, musí odkazovat na vlastnost alias. Pokud například nastavíte Select vlastnost na new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)
, má ovládací prvek vázaný na data přístup ke dvěma vlastnostem SalesRegion
a RevenueThousands
.
Funkci ve Select vlastnosti použijete new
podle podmínek uvedených v následující tabulce.
Vyberte | Použití nových | Příklad |
---|---|---|
Jedna vlastnost. | new není potřeba. |
Select="Category" |
Více vlastností. | new Potřebné. |
Select="new(Category, Name)" |
Jedna nebo více vlastností, které mají alias. | new Potřebné. |
Select="new(Category As CategoryGroup)" |
Pokud chcete povolit automatické úpravy dat, ale nechcete zobrazit všechny vlastnosti datového objektu Select , nenastavujte vlastnost. Místo toho spravujte zobrazení prostřednictvím ovládacího prvku vázaného na data. Při použití DetailsView ovládacího prvku nebo GridView ovládacího prvku musíte také nastavit AutoGenerateRows vlastnost nebo AutoGenerateColumns na false
hodnotu . Všechny hodnoty, které nejsou zobrazeny v ovládacím prvku vázaném na data, jsou uloženy ve stavu zobrazení. Při aktualizaci dat se předávají zdroji dat beze změny.
Když v dotazu seskupíte data, můžete do Select vlastnosti zahrnout agregační metody. Můžete použít následující agregační metody:
Count()
Average(
Sloupec)
Sum(
Sloupec)
Max(
Sloupec)
Min(
Sloupec)
Where(
Podmínka)
Any()
All(
Podmínka)
Další informace najdete v tématu Přehled ovládacího prvku webového serveru LinqDataSource a Postupy: Seskupení a agregace dat pomocí ovládacího prvku LinqDataSource.
Při seskupení dat můžete do Select vlastnosti zahrnout Key
a It
, což jsou dynamicky vytvořené vlastnosti. Vlastnost Key
odkazuje na hodnoty ve vlastnosti nebo vlastnosti, které byly použity k seskupení dat. Pokud například seskupíte podle vlastnosti s názvem Category
, Key
bude vlastnost obsahovat každou jedinečnou hodnotu ve Category
vlastnosti. Vlastnost It
odkazuje na kolekci jednotlivých záznamů v seskupení dat. Můžete iterovat vlastnost It
a načíst jednotlivé záznamy, které byly sloučeny v operaci seskupení. Pokud například seskupíte podle vlastnosti s názvem Category
, It
vlastnost obsahuje všechny jednotlivé záznamy, které sdílejí společnou hodnotu ve Category
vlastnosti.
Pokud do Select vlastnosti zahrnete It
klíčové slovo při seskupování dat, musíte mu It
přiřadit alias. Pokud LinqDataSource ovládací prvek nemá alias, vyvolá výjimku It
. Ke klíčovému slovu Key
můžete přiřadit alias, ale není to nutné.
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro