2012-04-03 8 views
1

私は、SharePoint Foundation 2010をWebサイトのファイルストアとして使用しようとしています。すべての文書の更新は承認サイクルを経て、承認されたステータスになり、最終的にはWebサイトに表示されます。ドキュメントが共有ポイントで更新されると、以前のバージョンが承認された場合でもステータスは「下書き」にリセットされます。これは意図された動作です。Sharepoint 2010クライアントOM - 承認された最新のドキュメントバージョンを取得する方法

File.Versionsは私にバージョンのリストを教えてくれます。

最後に承認されたバージョンを取得するにはどうすればよいですか?

答えて

1

ListItemのバージョンをループし、最新のものを見つける必要があります。 (最古の最新する)ので、あなたのコードがされるバージョンをループしSPListItemVersionCollectionを使用したバージョンは逆の順序でインデックス化されているSPListItemVersionCollection

SPListItem.Versions[0] //this is current version of the item 
SPListItem.Versions[1] //this is previous version of the item 
SPListItem.Versions[SPListItem.Versions.Count - 1] //this is first version of the item 

上のMSDNの記事のために Sebastian Wojciechowski's community additionを1としてSPFileLevel

をチェック次のようなもの:

// Retrieve all versions 
SPListItemVersionCollection itemVersions = item.Versions; 
for (int i = 0; i < itemVersions.Count - 1; i++) 
{ 
    // Check if version is published 
    if (itemVersions[i].Level == SPFileLevel.Published) 
    { 
     return itemVersions[i]; 
    } 
} 
+0

ありがとうございます。このコードはサーバー側で実行する必要がありますが、私はさまざまな理由でサーバー側のプログラミングを回避しようとしています。私はWindowsアプリケーション、CLOM経由の接続で作業しているので、その側で解決策を探しています。 – Bhuvan

関連する問題