2009-05-17 4 views
1

ListItemを追加または更新するときに、SPListを「優先度」フィールド(数値フィールド、制限なし)でソートする必要があります。フィールドに基づいてSPListItemsを自動的にソートする方法

ソートは、このように動作するはずです:

Original  Inserted item   Modified 
    1          1 
    2    2      2 
    3          3 (old 2) 
              4 (old 3) 

編集:この動作は、データシートビューでデータを編集する際に、ユーザーエクスペリエンスを向上させるための主です。 これは、私が得ようとしているAJAXスタイルのアップデートを貧乏人の一種です。

私が今見ている唯一の解決策は、イベントハンドラを使用して、除外されるべきListItemsを更新することですが、何百ものアイテムを含むリストでかなり高価な操作になる可能性があります(シーケンスにギャップがない限り) 。

わかりやすい解決策が見つからなかったか、はるかに優れたスケーリング方法がありましたか?

TIA

+0

のようになります。これは現在生産中で、パフォーマンスはリスト内の約200項目までOKです。 – Kasper

答えて

1

ワウ、タフなもの。私は、EventReceiverから既存のアイテムへの更新や更新を行うという考えは嫌いです。あなたはトラブルを求めています。

私の推薦です。

2つのフィールドを並べ替えに使用します。

1今日のようにあなたの仲間のフィールド(だれかが1,2,3,4と言うので)... 2作成日フィールド(これは組み込み日時フィールドです)。

ので、あなたの結果は、この

1 2009年1月1日
2 2009年5月16日
2 2009年5月11日
3 2009年5月12日

+0

JD、私はあなたのアイデアが好きですが、少なくともすぐに問題を解決するわけではありません。 「すべての競合するアイテムを更新する」アルゴリズムを実行できない場合は、あなたの提案を一時的なソリューションとして使用し、後で非同期的にアイテムを更新することがあります。 – Kasper

+0

Kasper SharePoint 2007ミーティングテンプレートをチェックアウトする必要があります。同様のことをするアジェンダをサポートするためのリストがあります。 – Jeff

関連する問題