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