2

Silverlight 3 を使用した単純なデータグリッドの例があり、DomainDataSource と DataPager を宣言的に使用して (コード ビハインドには何もない) .NET ria サービスを使用しており、この問題が発生しています:

LoadSize が 30、Page size が 15 で、ページを読み込むと 1 ページ目と 2 ページ目は正しく表示されますが、2 ページ目を超えるとグリッドに何も表示されません。

これは、.NET Ria サービスの Mix 2009 プレビューを含む Silverlight 3 ベータ版で機能していました。非常に単純な例を入手し、Service on the Web プロジェクトが呼び出されて新しいバッチをロードすることを確認しましたが、グリッドはデータは表示されません。

グリッドがデータの初期ロードのみを表示し、ページャーからの後続のバッチを表示しない理由について、誰かが光を当てることができますか?

これが私のxamlです:

    <riaControls:DomainDataSource x:Name="ArtistSource" QueryName="GetArtist" AutoLoad="True" LoadSize="30" PageSize="15">
        <riaControls:DomainDataSource.DomainContext>
            <domain:AdminContext />
        </riaControls:DomainDataSource.DomainContext>
    </riaControls:DomainDataSource>

    <data:DataGrid Grid.Row="1" x:Name="ArtistDataGrid" ItemsSource="{Binding Data, ElementName=ArtistSource}">
    </data:DataGrid>

    <StackPanel Grid.Row="2">
        <data:DataPager Source="{Binding Data, ElementName=ArtistSource}" />
    </StackPanel>
4

1 に答える 1

7

最初の後に取得されたデータのバッチに対して例外がスローされました。

メソッド 'Skip' は、LINQ to Entities の並べ替えられた入力に対してのみサポートされています。メソッド「OrderBy」は、メソッド「Skip」の前に呼び出す必要があります。

次のブロックを追加してデータを並べ替えると、ページャーは正常に動作します。

<riaControls:DomainDataSource.SortDescriptors>
    <riaData:SortDescriptor PropertyPath="Name" Direction="Ascending"/>
</riaControls:DomainDataSource.SortDescriptors>

これは本当に私を悲しませていました.とにかくデータをソートするつもりでしたが、最も単純なケースでページャー試していまし. Preview of .NET RIA Services)で、これに行き詰まりました。通常の Linq クエリでは、skip を呼び出す前に orderby は必要ないと思いますが、これは DataPager/DomainDataSource の場合のようです...

うわー!

于 2009-07-18T14:18:41.657 に答える