2009-06-04 15 views
2

sharepoint list.asmxサービスに対してcamlクエリーを実行しているときに、GetListItemsメソッドもまたが返されるという奇妙な動作があります。アイテムを削除しました。SharePoint Lists.asmx:クエリは「削除済み」カレンダーアイテムを返しますか?

found item: test 
found item: already done 
found item: recurring 
found item: recurring event 3-4 
found item: Deleted: recurring event 3-4 
found item: Deleted: recurring event 3-4 
found item: Deleted: recurring event 3-4 
found item: Deleted: recurring event 3-4 
found item: Deleted: recurring event 3-4 
found item: todays event 15-16 //<- NOT DELETED YET 

どうしてですか? camlクエリなどに特別なフィルタを適用する必要がありますか?私は現在次のように問い合わせています。

<Query> 
    <OrderBy> 
    <FieldRef Ascending='TRUE' Name='EventDate' /> 
    </OrderBy> 
    <Where> 
    <Eq> 
     <FieldRef Name='EventDate' /> 
     <Value Type='DateTime'><Today /></Value> 
    </Eq> 
    </Where> 
</Query> 

これまでに試したことはありますか。 1.ごみ箱からすべてをパージします。 2.共有ポイントWebサーバー上でiisresetを実行します。

注意してください。 VMWare Workstation環境で動作しています。

+0

これを解決しましたか?最終的な答えを知ることは有益でしょう。 –

答えて

7

カレンダーでの経験に基づいて、繰り返しイベントを処理する方法は非常に奇妙です(ただし論理的です)。最初に2つのことがありますが、カレンダーは根本的には特別なリスト(SP内のすべてのもの)であり、ファンシービューコントロールが付いています。

カレンダーにアイテムを追加すると、1つのアイテムがリストに追加されます。定期的なイベントが追加されると、SPはリストに無限の数の項目を追加しません。注意したように、特別な「定期的な」項目が1つ追加されます。次に、個別の定期的なイベントのいくつかを削除すると(つまり週次の会議は中止されますが、火曜日にキャンセルされます)、SPは特別な「削除イベント」アイテムをリストに追加します。それらのアイテムは、それらが存在し、もはや存在しないという意味では実際には削除されず、定期的なイベントの例外にすぎません。したがって、リストビューでカレンダーを表示するとフィルタは除外されますが、それらは「実際の」個々のSPリスト項目です。

私はそれが理に適ったと思います。

+0

意味があります!それらをフィルタリングできますか?インスタンスまたは例外を保持しているかどうかを確認する方法はありますか? – Obelix

+1

あなたはそれらをフィルタリングすることができますが、私はどのように忘れています。オブジェクトモデルを使用してリスト内のすべてのSPListItemオブジェクトを取得し、それらが '例外'項目であることを示すものが見つかるまでそれらのフィールドを反復することをお勧めします。申し訳ありませんが私はより多くの助けができません。 – DevinB

+0

@Frenske [EventType](http://aspnetguru.wordpress.com/2007/06/01/understanding-the-sharepoint-calendar-and-how-to-export-it-ical-format/)フィールドシリーズマスタの場合は1、修正(「標準」)例外の場合は4、削除例外の場合は3です。この古い質問に対する答えを受け入れてください。 (SharePointカレンダーでは、「すべてのアイテム」ビューに移動すると、「削除された例外」を含むすべてのアイテムが表示されます)。 –

関連する問題