Partager via


LinqDataSource.Select Propriété

Définition

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é

String

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é utilisée pour le regroupement de 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 par la requête. Par exemple, pour renvoyer uniquement les propriétés et LastName les FirstName propriétés d’un objet qui contient plus de ces propriétés, définissez la propriété new(FirstName, LastName)sur Select . 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 alias dans la new méthode. Tout contrôle lié aux données qui se lie 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 Select propriété new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)sur , le contrôle lié aux données peut accéder à deux propriétés et SalesRegion 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 nouveaux  Exemple
Propriété unique. new pas nécessaire. Select="Category"
Propriétés multiples. 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 propriété ou la AutoGenerateRows propriété falsesur 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 lorsque la mise à jour des données est effectuée.

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( column )

  • Sum( column )

  • Max( column )

  • Min( column )

  • 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 créées dynamiquement, dans la Select propriété. La Key propriété fait référence aux valeurs de la propriété ou des propriétés 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 s’il It n’a pas d’alias. Vous pouvez affecter un alias au Key mot clé, mais cela n’est pas obligatoire.

S’applique à