SortDescriptor.PropertyPath-Eigenschaft
Ruft die öffentliche Eigenschaft ab, die für die Sortierung verwendet wird, oder legt diese fest.
Namespace: System.Windows.Controls
Assembly: System.Windows.Controls.DomainServices (in system.windows.controls.domainservices.dll)
Verwendung
'Usage
Dim instance As SortDescriptor
Dim value As String
value = instance.PropertyPath
instance.PropertyPath = value
Syntax
'Declaration
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)
Eigenschaftswert
Die öffentliche Eigenschaft, die zum Sortieren verwendet wird.
Beispiel
Im folgenden Beispiel wird gezeigt, wie Sie der DomainDataSource einen Sortierdeskriptor hinzufügen. Die mit der Abfrage abgerufenen Daten werden nach Werten in der StandardCost
-Eigenschaft sortiert.
<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>
Hinweise
Wenn Sie Paging und Sortierung zusammen implementieren, schließen Sie mindestens einen SortDescriptor mit ein, dessen PropertyPath-Attribut einer Eigenschaft zugewiesen wurde, die eindeutige Werte enthält, z. B. ein Primärschlüssel. Oder fügen Sie eine OrderBy-Klausel auf Grundlage einer Eigenschaft hinzu, die eindeutige Werte für Abfragen in DomainDataSource enthält. Wenn Sie die Daten nur mit einer Eigenschaft sortieren, die keine eindeutigen Werte enthält, können die Rückgabewerte über mehrere Seiten hinweg inkonsistente und lückenhafte Daten enthalten.
Beachten Sie z. B. die Werte in der folgenden Tabelle. Beachten Sie, dass die ID-Werte eindeutig sind, die Land-Werte jedoch nicht.
ID | Land |
---|---|
1 |
GB |
2 |
GB |
3 |
US |
4 |
GB |
5 |
US |
6 |
IT |
7 |
GB |
8 |
GB |
9 |
US |
10 |
SP |
Wenn Sie Paging für diese Werte implementieren möchten, nach Land sortiert, können Sie zum Beispiel das folgende Markup verwenden:
<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>
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht sichergestellt.
Plattformen
Entwicklungsplattformen
Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 und Windows 2000
Zielplattformen
Change History
Siehe auch
Verweis
SortDescriptor-Klasse
SortDescriptor-Member
System.Windows.Controls-Namespace