2011-01-19 9 views
0

グリーティング、データページャとデータグリッドを使用して特定のメンバーにアクセスする

私は、レコードの合計量を含むPagedCollectionViewを示すDataGridを持っています。

合計で約4220個のレコードがあり、ページあたり20個のレコードがあり、約210ページあります。

今、私はこれを実装しようとしてきた:

私はページの一番上にこの人のショーを持っており、それは希望のページの近くにあるものに設定ページを持ちたい人のために検索する場合になる。

私はLinq Get items higher then lastnameで与えられた例を使って上に人を得ることができましたが、PagedCollectionviewはこれらの結果によって上書きされます。これは、欲しい人の前にすべてをスキップするので、ページの量が異なります。

基本的に私が望むのは、「Jan」と入力できる検索フィールドを持つことです。そして、私はJanが(+/- 1ページ低いまたはそれ以上の)ページにジャンプし、最初のレコードとして "Jan"を持つページにジャンプしたい。

答えて

0

自分の答えが見つかりました。

メンバーの総量が常にロードされているので、現在ロードされている金額が最初にロードされた金額より高いかどうかを確認するためのチェックを作成しました。

同様:

if (loadOperation.TotalEntityCount >= itemCount || !string.IsNullOrEmpty(FilterText)) 
{ 
    this.ItemCount = loadOperation.TotalEntityCount; 
} 
else 
{ 
    if (!DeleteMember) 
    { 
     pageIndex = (int)((this.ItemCount - loadOperation.TotalEntityCount)/this.PageSize); 
     RaisePropertyChanged("PageIndex"); 
    } 
    else 
    { 
     DeleteMember = false; 
     itemCount -= 1; 
    } 
} 

削除メンバーがメンバーが削除されたときにページインデックスを設定しようとしないので、TotalEntityCountは1 ITEMCOUNT個、その後低くなることを確認することです。

関連する問題