以下の例のようにドキュメントライブラリをループしているループがあります。SPListItemがドキュメントまたはフォルダであるかどうかを確認するには
foreach (SPListItem item in DocumentLibrary)
{
}
SPListItem
がドキュメントかフォルダかどうかを確認するにはどうすればよいですか?
以下の例のようにドキュメントライブラリをループしているループがあります。SPListItemがドキュメントまたはフォルダであるかどうかを確認するには
foreach (SPListItem item in DocumentLibrary)
{
}
SPListItem
がドキュメントかフォルダかどうかを確認するにはどうすればよいですか?
項目がフォルダでない場合は、リスト項目のFolderプロパティはnull
になりますので、あなたが書くことができます。
public bool IsFolder(SPListItem item)
{
return item.Folder != null;
}
を同じように、アイテムのFile財産になりますnull
アイテムがドキュメントでない場合。ただし、ドキュメントが、その場合には、このプロパティを使用しないことを助言:
File
プロパティもそれはあるもののnull
かの項目がフォルダである、またはアイテム は、ドキュメントライブラリに配置されていない場合は、 返しますこのような場合は とお勧めしません。
別の方法は、リストのBaseTypeプロパティをチェックすることです:
public bool IsDocument(SPListItem item)
{
return !IsFolder(item)
&& item.ParentList.BaseType == SPBaseType.DocumentLibrary;
}
if (item.Folder!=null)
// item is Folder and Folder will hold the SPFolder class
私が最も安全な方法はFileSystemObjectType property
使用SPFileSystemObjectType列挙を確認することだと思います。 (item.FileSystemObjectType == SPFileSystemObjectType。フォルダ)
{
//アイテムがフォルダの場合は
はここで...
foreachの(docLib.ItemsでSPListItem項目)
{
サンプルです
...他
}
場合(item.FileSystemObjectType == SPFileSystemObjectType。ファイル)
7分前
}
if (oitem.ContentType.Name == spWeb.AvailableContentTypes[SPBuiltInContentTypeId.Folder].Name)
{
Console.WriteLine("Folder Name: " + oitem.Name.ToString());
}
正解{
//項目は、ファイル
...
あります}! +0。人生は不公平である!!! ;)ちょうどあなたに冗談+1。 – Mzn