zoukankan      html  css  js  c++  java
  • sharepoint查阅项读取

     protected void InitData()
            {
                string siteUrl = SPContext.Current.Web.Url;
                SPSite site = new SPSite(siteUrl);
                SPWeb web = site.OpenWeb();
                DataTable table = GetCamlDataListRetTable(GetCamlDataList("EmployeeList"));
                DataTable tb = new DataTable();
                tb.Columns.Add("EmployeeName");
                tb.Columns.Add("Department");
                tb.Columns.Add("Sex");
                tb.Columns.Add("Age");
                tb.Columns.Add("ID");

                foreach (DataRow item in table.Rows)
                {
                    SPFieldLookupValue fieldLookup = new SPFieldLookupValue(item["部门"].ToString());
                    string test = fieldLookup.LookupValue;//查阅项值
                    tb.Rows.Add(item["用户名"].ToString(), test, item["性别"].ToString(), item["年龄"].ToString(), item["ID"].ToString());

                }
                gridview.DataSource = tb;
                gridview.DataBind();
            }

    ///当查阅项是多选时

                        SPFieldLookupValueCollection spflvCollection = new SPFieldLookupValueCollection(sq["参会人员"].ToString());
                        List<string> persons = new List<string>();
                        List<string> jiluperson = new List<string>();
                        #region 参会人员判断
                        foreach (SPFieldLookupValue lookValue in spflvCollection)
                        {
                            if (!persons.Contains(lookValue.LookupValue))
                            {
                                persons.Add(lookValue.LookupValue);
                            }
                            txt_Person.Text += lookValue.LookupValue + ";";
                        }
                        #endregion

    /// <summary>
            /// 返回查询列表所有数据
            /// </summary>
            /// <param name="listName">列表名称</param>
            /// <returns></returns>
            public SPListItemCollection GetCamlDataList(string listName)
            {
                SPList list = SPContext.Current.Web.Lists[listName];
                SPQuery query = new SPQuery();
                StringBuilder sb = new StringBuilder();
                sb.Append("   <OrderBy>");
                sb.Append("     <FieldRef Name=" + listName + " />");//列名称
                sb.Append("   </OrderBy>");
                query.Query = sb.ToString();
                SPListItemCollection spic = list.GetItems(query);
                return spic;
            }

            /// <summary>
            /// 根据Caml查询返回数据表
            /// </summary>
            /// <param name="spic">Caml结果集</param>
            /// <returns></returns>
            public DataTable GetCamlDataListRetTable(SPListItemCollection spic)
            {
                DataTable dt = new DataTable();
                for (int i = 0; i < spic.List.ContentTypes[0].Fields.Count; i++)
                {
                    if (dt.Columns == null || dt.Columns.Count < 1)
                        dt.Columns.Add(spic.List.ContentTypes[0].Fields[i].Title);
                    else
                    {
                        bool dtColumns = true;
                        for (int j = 0; j < dt.Columns.Count; j++)
                        {
                            if (dt.Columns[j].ColumnName == spic.List.ContentTypes[0].Fields[i].Title)
                            {
                                dtColumns = false;
                            }
                        }
                        if (dtColumns)
                        {
                            dt.Columns.Add(spic.List.ContentTypes[0].Fields[i].Title);
                        }
                    }
                }
                dt.Columns.Add("ID");
                if (spic.List.ItemCount > 0)
                {
                    for (int i = 0; i < spic.Count; i++)
                    {
                        DataRow dr = dt.NewRow();
                        for (int j = 0; j < dt.Columns.Count; j++)
                        {
                            dr[dt.Columns[j].ColumnName] = Convert.ToString(spic[i][spic[i].Fields[dt.Columns[j].ColumnName.ToString()].InternalName]);
                        }
                        dt.Rows.Add(dr);
                    }
                }
                return dt;
            }

     <ContentTypes>
          <ContentType ID="0x0100c2917396131641a896d310050623ef03" Name="Demo - Employee" Group="自定义内容类型" Description="我的内容类型" Inherits="TRUE" Version="0">
            <FieldRefs>
              <FieldRef ID="{0A27A629-CB34-4B6D-A68F-9873EAC77CA5}" Name="EmployeeName" />
              <FieldRef ID="{13E113B0-4E72-4E61-99FB-3E66C671D636}" Name="Sex" />
              <FieldRef ID="{A7F0556E-FCBF-4698-AC6B-EBE6E91C5CE5}" Name="Age" />
              <FieldRef ID="{250E89A0-73D4-44C8-8310-4E152BA848A8}" Name="Department" />
            </FieldRefs>
            <XmlDocuments>
              <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
                <FormUrls xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
                  <New>_layouts/Demo/EmployeeAdd.aspx</New>
                </FormUrls>
              </XmlDocument>
            </XmlDocuments>
          </ContentType>
        </ContentTypes>
        <Fields>
          <Field ID="{0a27a629-cb34-4b6d-a68f-9873eac77ca5}" Name="EmployeeName" DisplayName="用户名" Type="Text" SourceID="http://schemas.microsoft.com/sharepoint/v3" Required="TRUE" StaticName="EmployeeName" />
          <Field ID="{13e113b0-4e72-4e61-99fb-3e66c671d636}" Name="Sex" DisplayName="性别" Type="Text" SourceID="http://schemas.microsoft.com/sharepoint/v3" Required="TRUE" StaticName="Sex" />
          <Field ID="{a7f0556e-fcbf-4698-ac6b-ebe6e91c5ce5}" Name="Age" DisplayName="年龄" Type="Text" SourceID="http://schemas.microsoft.com/sharepoint/v3" Required="TRUE" StaticName="Age" />
          <Field ID="{250e89a0-73d4-44c8-8310-4e152ba848a8}" Name="Department" DisplayName="部门" List="Lists/DepartmentList" ShowField="Title" Type="Lookup" SourceID="http://schemas.microsoft.com/sharepoint/v3" Required="TRUE" StaticName="Department"  EnforceUniqueValues="FALSE" RelationshipDeleteBehavior="None" />
        </Fields>  //ShowField="Title"

  • 相关阅读:
    vs.net 2005 C# WinForm GroupBOX 的BUG?尝试读取或写入受保护的内存。这通常指示其他内存已损坏
    Git安装及基本使用
    c++实现将表达式转换为逆波兰表达式
    2015年倒数第6周学习报告
    读过的书及读后感
    c++实现队列
    链表插入排序(insertion-sort-list)
    test
    [转]maven入门
    几个学习Maven不错的网址
  • 原文地址:https://www.cnblogs.com/GreenGrass/p/3062675.html
Copyright © 2011-2022 走看看