ShareOpint service学习笔记之代码创建公告Announcement----------1

来源:互联网 发布:阳光科学发声法知乎 编辑:程序博客网 时间:2024/06/06 08:29

初学不合理的地方请多多请教

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

        private void button1_Click(object sender, EventArgs e)
        {
            string url = textBox1.Text;

            using (SPSite oSite = new SPSite(url))
            {
                //Great Announcement
                SPWeb oWeb = oSite.OpenWeb();
                Guid oGuid = oWeb.Lists.Add("NamAnnouncements", "This is mine", SPListTemplateType.Announcements);

                SPList oList = oWeb.Lists.GetList(oGuid, true);
                SPView oView = oList.DefaultView;
                SPViewFieldCollection colViewField = oView.ViewFields;
                colViewField.DeleteAll();

                colViewField.Add(oList.Fields.GetField(oList.Fields.Add("Name", SPFieldType.Text, true)));
                colViewField.Add(oList.Fields.GetField(oList.Fields.Add("Age", SPFieldType.Text, true)));
                colViewField.Add(oList.Fields.GetField(oList.Fields.Add("Sex", SPFieldType.Text, true)));
                oSite.AllowUnsafeUpdates = true;
                oWeb.Update();
                oSite.AllowUnsafeUpdates = false;

                SPListItemCollection items = oWeb.Lists["NamAnnouncements"].Items;
                SPListItem item = items.Add();
                item["Name"] = "Lee";
                item["Age"] = "33";
                item["Sex"]="man";
                item.Update();

            }
        }

        /// <summary>
        /// search Announcement count,item count
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            string strUrl = textBox1.Text;


            using (SPSite oSite = new SPSite(strUrl))
            {
                SPWeb oWeb = oSite.OpenWeb();
                int count = 0;
                int item = 0;
                foreach (SPList list in oWeb.Lists)
                {
                    if (list.BaseTemplate == SPListTemplateType.Announcements)
                    {
                        count++;
                        item = item + list.Items.Count;
                    }


                }
                MessageBox.Show(count.ToString());
                MessageBox.Show(item.ToString());
            }
        }

        /// <summary>
        /// view anouncement data
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            dataGridView1.DataSource = CreateDataTable();
        }

        public DataTable CreateDataTable()
        {
            string url = textBox1.Text;
            SPWeb myWeb = new SPSite(url).OpenWeb();
            SPList myList = myWeb.Lists["NamAnnouncements"];

            DataTable myTable = new DataTable();
            myTable.Columns.Add(new DataColumn("Name"));
            myTable.Columns.Add(new DataColumn("Age"));
            myTable.Columns.Add(new DataColumn("Sex"));

            //读取SPList中的SPListItem,填充到DataTable
            foreach (SPListItem theItem in myList.Items)
            {
                DataRow theRow = myTable.NewRow();
                theRow["Name"] = theItem["Name"].ToString();
                theRow["Age"] = theItem["Age"].ToString();
                theRow["Sex"] = theItem["Sex"].ToString();
                myTable.Rows.Add(theRow);
            }

            //返回DataTable
            return myTable;

        }
    }
}