SortDescriptor.PropertyPath 属性
获取或设置用于排序的公共属性。
命名空间: System.Windows.Controls
程序集: System.Windows.Controls.DomainServices(在 system.windows.controls.domainservices.dll 中)
用法
用法
Dim instance As SortDescriptor
Dim value As String
value = instance.PropertyPath
instance.PropertyPath = value
语法
声明
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)
属性值
用于排序的公共属性。
示例
下面的示例演示如何将一个排序描述符添加到 DomainDataSource。从查询中检索的数据按 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>
备注
同时实现分页和排序时,至少包含一个 SortDescriptor,将其 PropertyPath 特性分配给包含唯一值(如主键)的属性。或者将基于包含唯一值的属性的 OrderBy 子句添加到 DomainDataSource 中的查询。如果仅对不包含唯一值的属性排序数据,返回值可能包含不一致的数据或缺少跨页数据。
例如,请考虑下表中的值。请注意,ID 值是唯一的,但 Country 值不唯一。
ID | Country |
---|---|
1 |
UK |
2 |
UK |
3 |
US |
4 |
UK |
5 |
US |
6 |
IT |
7 |
UK |
8 |
UK |
9 |
US |
10 |
SP |
如果要为这些值实现分页,按 Country 排序,可以使用以下标记:
<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>
线程安全
此类型的任何公共静态(在 Visual Basic 中为 共享)成员都是线程安全的。不保证所有实例成员都是线程安全的。
平台
开发平台
Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008 和 Windows 2000
目标平台
Change History
另请参见
参考
SortDescriptor 类
SortDescriptor 成员
System.Windows.Controls 命名空间