Share via


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>

解説

ページングと並べ替えを同時に実装する場合は、プライマリ キーのような一意の値を含むプロパティに PropertyPath 属性が割り当てられた SortDescriptor を少なくとも 1 つ含めます。または、一意の値を含むプロパティに基づいて 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>

スレッド セーフ

この型の public static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008、および Windows 2000

ターゲット プラットフォーム

Change History

参照

リファレンス

SortDescriptor クラス
SortDescriptor のメンバー
System.Windows.Controls 名前空間