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"

posted @ 2013-05-06 13:50  717806198  阅读(345)  评论(0编辑  收藏  举报