Partager via


Propriété SortDescriptor.PropertyPath

Obtient ou définit la propriété publique utilisée pour le tri.

Espace de noms: System.Windows.Controls
Assembly : System.Windows.Controls.DomainServices (dans system.windows.controls.domainservices.dll)

Utilisation

'Utilisation
Dim instance As SortDescriptor
Dim value As String

value = instance.PropertyPath

instance.PropertyPath = value

Syntaxe

'Déclaration
Public Property PropertyPath As String
public string PropertyPath { get; set; }
public:
property String^ PropertyPath {
    String^ get ();
    void set (String^ value);
}
/** @property */
public String get_PropertyPath ()

/** @property */
public void set_PropertyPath (String value)
public function get PropertyPath () : String

public function set PropertyPath (value : String)

Valeur de propriété

Propriété publique utilisée pour le tri.

Exemple

L'exemple suivant montre comment ajouter un descripteur de tri à DomainDataSource. Les données récupérées à partir de la requête sont triées par valeurs dans la propriété StandardCost.

<Grid x:Name="LayoutRoot" Background="White">
    <riaControls:DomainDataSource Name="source" QueryName="GetProducts" AutoLoad="true">
        <riaControls:DomainDataSource.DomainContext>
            <domain:ProductDomainContext />
        </riaControls:DomainDataSource.DomainContext>
        <riaControls:DomainDataSource.SortDescriptors>
            <riaControls:SortDescriptor PropertyPath="StandardCost" Direction="Ascending" />
            <riaControls:SortDescriptor PropertyPath="ProductID" Direction="Ascending" />
        </riaControls:DomainDataSource.SortDescriptors>
    </riaControls:DomainDataSource>
    <data:DataGrid ItemsSource="{Binding Data, ElementName=source}" />
</Grid>

Notes

Lorsque vous implémentez ensemble la pagination et le tri, incluez au moins un SortDescriptor avec son attribut PropertyPath assigné à une propriété qui contient des valeurs uniques, telles qu'une clé primaire. Ou ajoutez une clause OrderBy basée sur une propriété qui contient des valeurs uniques à la requête dans DomainDataSource. Si vous triez seulement les données sur une propriété qui ne contient pas de valeurs uniques, les valeurs de retour pourraient contenir des données incohérentes ou manquantes à travers des pages.

Examinons, par exemple, les valeurs dans le tableau suivant. Notez que les valeurs ID sont uniques, mais que les valeurs Country ne le sont pas.

ID Country

1

UK

2

UK

3

US

4

UK

5

US

6

IT

7

UK

8

UK

9

US

10

SP

Si vous voulez implémenter la pagination pour ces valeurs, triées sur Country, vous pouvez utiliser le balisage suivant :

<Grid x:Name="LayoutRoot">
    <ScrollViewer x:Name="PageScrollViewer" Style="{StaticResource PageScrollViewerStyle}">
        <StackPanel x:Name="ContentStackPanel">
            <TextBlock x:Name="HeaderText" Style="{StaticResource HeaderTextStyle}" 
                               Text="Home"/>
            <TextBlock x:Name="ContentText" Style="{StaticResource ContentTextStyle}" 
                               Text="Home page content"/>
            <riaControls:DomainDataSource Name="domainDataSource1" QueryName="GetCountriesQuery" PageSize="4">
                <riaControls:DomainDataSource.DomainContext>
                    <ds:TestDomainContext></ds:TestDomainContext>
                </riaControls:DomainDataSource.DomainContext>
                <riaControls:DomainDataSource.SortDescriptors>
                    <riaControls:SortDescriptor PropertyPath="Country" Direction="Ascending"></riaControls:SortDescriptor>
                    <riaControls:SortDescriptor PropertyPath="ID"></riaControls:SortDescriptor>
                </riaControls:DomainDataSource.SortDescriptors>
            </riaControls:DomainDataSource>
            <my:DataGrid ItemsSource="{Binding Data, ElementName=domainDataSource1}" />
            <my:DataPager PageSize="4" Source="{Binding Data, ElementName=domainDataSource1}" />
        </StackPanel>
    </ScrollViewer>
</Grid>

Sécurité des threads

Tous les membres publics statiques (Partagés dans Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Plateformes

Plateformes de développement

Windows XP Édition familiale, Windows XP Professionnel, Windows Server 2003 , Windows Server 2008 et Windows 2000

Plateformes cibles

Change History

Voir aussi

Référence

Classe SortDescriptor
Membres SortDescriptor
Espace de noms System.Windows.Controls