폴더 계층에 항목을 저장하는 List가 있습니다.SPFolder에서 항목 수를 찾는 방법은 무엇입니까?
나는 이 항상 0임을 알았습니다.
폴더에 얼마나 많은 목록 항목이 있는지 확인할 수있는 방법이 있습니까?
폴더 계층에 항목을 저장하는 List가 있습니다.SPFolder에서 항목 수를 찾는 방법은 무엇입니까?
나는 이 항상 0임을 알았습니다.
폴더에 얼마나 많은 목록 항목이 있는지 확인할 수있는 방법이 있습니까?
직접 하위를 찾고 자손 (예 : 하위 폴더 내의 항목)을 찾고 있다고 가정합니다.
카운트에 하위 폴더도 포함 하시겠습니까? 어떤 경우에는 SPFolder.ItemCount
을 사용할 수 있습니다. 나는 그것을 시도하지 않은
using (SPSite site = new SPSite(mySPSite))
{
SPWeb web = site.OpenWeb();
SPList list = web.Lists[myList];
SPFolder folderInstance = list.RootFolder.SubFolders[folderUrl];
SPQuery query = new SPQuery() ;
query.Folder = folderInstance;
SPListItemCollection items = list.GetItems(query) ;
Console.WriteLine(items.Count);
}
:
그냥 하위 폴더가 아닌 경우에만 직접 자녀의 많은 ListItems를 원하는 경우에
는 다음과 같은 작업을 수행 할 수 있습니다. 질의가 반환하는 경우 폴더를 제거하기 위해 where 절을 추가해야 할 수도 있습니다.하위 폴더 내에서도 모든 목록 항목을 포함하려면 SPQuery.ViewAttributes
필드를 query.ViewAttributes = "Scope=\"Recursive\""
으로 설정하십시오. SPList.ItemCount 속성을 사용
나는 동일 SPFolder.ItemCount 적용 궁금합니다?는 목록의 항목 번호를 검색하기 위해 권장되는 방법 입니다. 그러나 성능에 대해이 속성을 튜닝 한 결과 은 종종 예기치 않은 결과를 반환 할 수 있습니다. 당신이 항목의 정확한 수를 필요로하는 경우 예를 들어, 사용 ...
SPFolder에는 ItemCount 속성이 정의되어 있지 않습니다! – Vijay
SPFolder에서 SPListItem을 가져 와서 SPBuiltInFieldId.ItemChildCount 및 SPBuiltInFieldId.FolderChildCount 필드에서 값을 확인하려고 했습니까? 이 같은
뭔가 :
SPFolder folder = ...;
int? noOfItems = folder.Item[SPBuiltInFieldId.ItemChildCount] as int?;
int? noOfFolders = folder.Item[SPBuiltInFieldId.FolderChildCount] as int?;
더 많은 정보를 원하시면
SPBuiltInFieldId.ItemChildCount Field
SPBuiltInFieldId.FolderChildCount Field
를 참조하십시오.
예, 하위 폴더가없는 항목 수가 필요합니다. 쿼리를 실행하지 않고이 작업을 수행 할 수 있습니까? – Vijay
잘 모름. SPFolder.Item.ListItems에는 운이 좋을지도 모릅니다. –
Nope. SPFolder.Items.ListItems가 도움이되지 않았습니다. 내가 찾던 것을 찾지 못해서 당신의 솔루션을 사용했습니다 :) 감사합니다! – Vijay