LinqDataSource.Select Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit les propriétés et les valeurs calculées incluses dans les données récupérées.
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
Valeur de propriété
Chaîne utilisée pour créer la clause Select.
Exemples
L’exemple suivant montre comment définir la Select propriété sur un sous-ensemble de propriétés dans l’objet de données.
<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>
L’exemple suivant montre comment récupérer des valeurs dans une propriété qui a été utilisée pour regrouper des données et récupérer la moyenne des enregistrements groupés. Le Key
mot clé contient la propriété qui a été utilisée pour regrouper des données. Dans cet exemple, Key
contient les valeurs partagées de la ProductCategory
propriété .
<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>
Remarques
Si vous ne définissez pas la Select propriété, le LinqDataSource contrôle récupère toutes les propriétés (colonnes de données) de l’objet de données. Vous utilisez la Select propriété pour récupérer un sous-ensemble de propriétés de l’objet ou pour calculer de nouvelles valeurs lorsque les données sont récupérées.
Vous spécifiez les propriétés à récupérer en définissant la Select propriété sur les noms des propriétés que vous souhaitez inclure dans les données retournées.
Si vous récupérez un sous-ensemble de propriétés à partir de l’objet de données, le LinqDataSource contrôle crée dynamiquement une classe qui contient uniquement les propriétés que vous spécifiez dans la Select propriété . Une classe est également créée dynamiquement si vous calculez des propriétés qui ne sont pas des propriétés dans l’objet de données. Dans ce cas, l’objet retourné par la requête n’est pas une instance de la classe spécifiée dans la TableName propriété . Au lieu de cela, vous devez utiliser la new
méthode dans la Select propriété pour indiquer qu’une nouvelle classe est retournée à partir de la requête. Par exemple, pour renvoyer uniquement les FirstName
propriétés et LastName
d’un objet qui contient plus de ces propriétés, définissez la propriété sur Selectnew(FirstName, LastName)
. Le LinqDataSource contrôle crée dynamiquement la nouvelle classe que vous avez spécifiée dans la new
méthode .
Vous pouvez utiliser le As
mot clé pour affecter un alias à une valeur sélectionnée. Si vous attribuez un alias, vous devez inclure les propriétés avec alias dans la new
méthode . Tout contrôle lié aux données qui est lié aux résultats du LinqDataSource contrôle doit faire référence à la propriété par l’alias. Par exemple, si vous définissez la propriété sur Select , le contrôle lié aux new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)
données peut accéder à deux propriétés, SalesRegion
et RevenueThousands
.
Vous utilisez la new
fonction dans la Select propriété en fonction des conditions répertoriées dans le tableau suivant.
Sélectionnez | Utilisation de la nouvelle | Exemple |
---|---|---|
Propriété unique. | new non nécessaire. |
Select="Category" |
Plusieurs propriétés. | new Nécessaire. |
Select="new(Category, Name)" |
Propriétés uniques ou multiples qui ont un alias. | new Nécessaire. |
Select="new(Category As CategoryGroup)" |
Si vous souhaitez activer les modifications automatiques des données, mais que vous ne souhaitez pas afficher toutes les propriétés de l’objet de données, ne définissez pas la Select propriété . Au lieu de cela, gérez l’affichage via le contrôle lié aux données. Lorsque vous utilisez le DetailsView contrôle ou le GridView contrôle, vous devez également définir la AutoGenerateRows propriété false
ou sur AutoGenerateColumns . Toutes les valeurs qui ne sont pas affichées dans le contrôle lié aux données sont stockées dans l’état d’affichage. Elles sont passées inchangées à la source de données lors de la mise à jour des données.
Lorsque vous regroupez des données dans la requête, vous pouvez inclure des méthodes d’agrégation dans la Select propriété . Vous pouvez utiliser les méthodes d’agrégation suivantes :
Count()
Average(
Colonne)
Sum(
Colonne)
Max(
Colonne)
Min(
Colonne)
Where(
condition)
Any()
All(
condition)
Pour plus d’informations, consultez Vue d’ensemble du contrôle serveur web LinqDataSource et Guide pratique pour regrouper et agréger des données à l’aide du contrôle LinqDataSource.
Lorsque vous regroupez des données, vous pouvez inclure Key
et It
, qui sont des propriétés créées dynamiquement, dans la Select propriété . La Key
propriété fait référence aux valeurs de la ou des propriétés qui ont été utilisées pour regrouper les données. Par exemple, si vous regroupez par une propriété nommée Category
, la Key
propriété contiendra chaque valeur unique dans la Category
propriété . La It
propriété fait référence à une collection d’enregistrements individuels dans un regroupement de données. Vous pouvez itérer sur la It
propriété pour récupérer les enregistrements individuels qui ont été consolidés dans l’opération de regroupement. Par exemple, si vous regroupez par une propriété nommée Category
, la It
propriété contient tous les enregistrements individuels qui partagent une valeur commune dans la Category
propriété .
Si vous incluez le It
mot clé dans la Select propriété lorsque vous regroupez des données, vous devez affecter un alias au It
mot clé. Le LinqDataSource contrôle lève une exception si It
n’a pas d’alias. Vous pouvez affecter un alias au Key
mot clé, mais cela n’est pas obligatoire.
S’applique à
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour