2

I have a document library which has 18000 items. When I go to the All Site Contents page, I see 18000 items against the document library name.

But when I query the items in C# as

foreach(SPListItem item in list.Items)

I get a count of just 17000 items

Is it possible that the remaining items are checked-out and thus are not coming in the query(I am an SCA though).

What could be the reason

  • How are you querying the count? – Amal Hashim May 19 '15 at 10:00
  • 1
    Show me the whole code... – Pranav Bilurkar May 19 '15 at 10:30
2

We can get the Checked out files using the below code. No matter what you try, you cannot get the checked out files by querying the document library as these are saved in a separate table in the database.

SPDocumentLibrary library = (SPDocumentLibrary)list;
IList<SPCheckedOutFile> files = library.CheckedOutFiles;
foreach (SPCheckedOutFile file in files)
{
    Console.WriteLine(file.LeafName);
} 

The count difference was due to the fact that those 1000 items were never checked-in and can be accessed through the above code.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.