:: CODE :: Como deletar uma View usando OM

Pessoal, gostaria de colocar este código para vocês.

CENÁRIO:

Quando precisar deletar uma VIEW específica, segue um código completo, para facilitar seu dia.

Onde, você informa o ID da view e deleta ela. Veja a imagem.

Note que tem duas views que criei: (Teste1 e Teste2 Bruno).

Onde irei deletar a Teste 2 Bruno.

Resulstado…

CÓDIGO:

sing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

namespace prViewsBaca
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //informando qual site vai pesquisar as views
            this.txtNome.Text = "http://" + System.Environment.MachineName;           
        }

        private void Verificar_Click(object sender, EventArgs e)
        {
            this.Preenche(false);
        }

        public void Preenche(bool delview)
        {
            //uma validação simples se foi informado ou não a view
            if (this.txtNome.Text.ToString().Trim() == string.Empty)
            {
                MessageBox.Show("Não foi informado o site para geração do dccumento.");
                return;
            }

            //pegando SPSite para pegar a Listas dentro delas
            using (SPSite oSiteCollection = new SPSite(this.txtNome.Text))
            {
                //veriricando o Sitecollection
                SPWebCollection collWebsites = oSiteCollection.AllWebs;
                //Site especifico – root
                //lista que voce quer ver

                SPList list = collWebsites[0].Lists["Paginas"];

                //deleta a view agora?
                if (delview)
                {
                    //cria o guid em relação ao guid string que vc informou no text
                    Guid ogui = new Guid(this.txtIdView.Text);
                    //aciona a deleção de forma explicita
                    collWebsites[0].Lists["Paginas"].AllowDeletion = true;
                    //deletar a view                   
                    collWebsites[0].Lists["Paginas"].Views.Delete(ogui);
                    MessageBox.Show("View deletada!");                   
                }

                //busca tudo
                SPViewCollection objviewitems = list.Views;
                Views.tdDataVewDataTable xsdTipado = new Views.tdDataVewDataTable();
                foreach (SPView viewitem in objviewitems)
                {
                    xsdTipado.AddtdDataVewRow(viewitem.ID.ToString(), viewitem.Title);
                }
                //cololca os dados aqui no gridview
                this.dataGridView1.DataSource = xsdTipado;
                this.dataGridView1.Show();

                MessageBox.Show("Dados Preenchidos!");
            }
        }

        private void DeletarView_Click(object sender, EventArgs e)
        {
            this.Preenche(true);
       }
    }
}

Link para download do código:

View_Bruno_Velaz

Bruno Velaz

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s