none
[Ajuda]Listar todos os documentos e seus links SP2007. RRS feed

  • Pergunta

  • Boa tarde amigo(a)s!

    Estou precisando desenvolver uma solução com a seguinte característica:
    - Listar todos os documentos de um site
    - Listar os links para esses documentos
    - Permitir impressão desses documentos

    Para meu ponto de partida, preciso entender como listar todas as Document Libraries do meu site - sem definir nome.
    Espero que possam me ajudar com isso.. ;/

    Grato desde já.


    Atenciosamente,
    Charles Lomboni.

    sexta-feira, 2 de março de 2012 18:12

Respostas

  • Bom, depois de procurar muito.. achei uma solução que supriu minha necessidade.

    1 - fiz uma instância de um SPSite com o endereço do meu site.
    2 - habilitei para AllowUnsafeUpdates.
    3 - percorri todas as webs do meu site.
    4 - e procure todas as listas neles.
    5 - verifiquei se era uma doclibrary.
    6 - depois se a view estava em "All Documents".
    7 - utilizei um SPQuery com Scope='Recursive'.
    8 - se existesse algum documento encontrado.
    9 - pego o nome da pasta e varro os files contidos nela.
    10 - adiciono em meu list.
    11 - FIM! :)

    Acho que o código mais importante seja o de varrer as pastas e pegar o nome dos arquivos nela.
    SPFolder folder = item.Folder;
    foreach (SPFile file in folder.Files)
    {
    lstFolder.Add(siteCollection.Url + item.Folder.ServerRelativeUrl + "/" + file.Name);
    }

    Atenciosamente,
    Charles Lomboni.

    • Marcado como Resposta Charles Lomboni segunda-feira, 5 de março de 2012 18:45
    segunda-feira, 5 de março de 2012 18:45
  • Fiz um exemplo e, quem se interessar em saber melhor sobre, poderá ver aqui:
    http://charleslomboni.wordpress.com/2012/03/05/listar-items-e-subitems-de-uma-document-library-moss-2007/


    Atenciosamente,
    Charles Lomboni.

    • Marcado como Resposta Charles Lomboni segunda-feira, 5 de março de 2012 19:18
    segunda-feira, 5 de março de 2012 19:18

Todas as Respostas

  • Bom, depois de procurar muito.. achei uma solução que supriu minha necessidade.

    1 - fiz uma instância de um SPSite com o endereço do meu site.
    2 - habilitei para AllowUnsafeUpdates.
    3 - percorri todas as webs do meu site.
    4 - e procure todas as listas neles.
    5 - verifiquei se era uma doclibrary.
    6 - depois se a view estava em "All Documents".
    7 - utilizei um SPQuery com Scope='Recursive'.
    8 - se existesse algum documento encontrado.
    9 - pego o nome da pasta e varro os files contidos nela.
    10 - adiciono em meu list.
    11 - FIM! :)

    Acho que o código mais importante seja o de varrer as pastas e pegar o nome dos arquivos nela.
    SPFolder folder = item.Folder;
    foreach (SPFile file in folder.Files)
    {
    lstFolder.Add(siteCollection.Url + item.Folder.ServerRelativeUrl + "/" + file.Name);
    }

    Atenciosamente,
    Charles Lomboni.

    • Marcado como Resposta Charles Lomboni segunda-feira, 5 de março de 2012 18:45
    segunda-feira, 5 de março de 2012 18:45
  • Fiz um exemplo e, quem se interessar em saber melhor sobre, poderá ver aqui:
    http://charleslomboni.wordpress.com/2012/03/05/listar-items-e-subitems-de-uma-document-library-moss-2007/


    Atenciosamente,
    Charles Lomboni.

    • Marcado como Resposta Charles Lomboni segunda-feira, 5 de março de 2012 19:18
    segunda-feira, 5 de março de 2012 19:18