Sharepoint學習筆記---SPList--創建一個帶有Lookup字段的List


  這里我們用代碼創建一個帶有Lookup字段(名為: LookupStaffName)的List (名為:TestSale),它的Lookup字段從另一個名為SaleStaff的List中獲取。
因此,我們首先在我們的測試網站上手工創建一個List,命名為SaleStaff,並輸入測試數據如下

 

 

 

然后使用如下代碼去創建TestSale這個List

  string siteURL =  " http://MyTestSite:1200/ "// 此處換成你自己的站點地址
             using (SPSite site =  new SPSite(siteURL))
            {
                 using (SPWeb web = site.AllWebs[ 0])
                {
                     // 先在我們的測試站點添加一個名叫TestSaleStaff的List.
                    Guid newListGuid = web.Lists.Add( " TestSale "" Used for test lookup field. ", SPListTemplateType.GenericList);
                    SPList newList = web.Lists[newListGuid];  // 取得剛才添加的List.

                    
// 給TestSaleStaff這個List添加一個普通文本類型的字段.
                    SPField fldProductName = (SPFieldText)newList.Fields.CreateNewField(SPFieldType.Text.ToString(),  " ProductName ");
                    fldProductName.Description =  " Add a common test text type field named ProductName ";
                    fldProductName.Required =  true// 在新建項目時,此字段是否是必填的.
                    newList.Fields.Add(fldProductName);

                     // 給TestSaleStaff這個List添加一個Lookup類型的字段.
                     string fieldName =  " LookupStaffName "// 設置fieldName參數,即新增的Lookup類型字段的名字
                    SPList lookupList = web.Lists[ " SaleStaff "];  // 設置這個Lookup類型字段要從哪個List中去取值
                    Guid lookupGuid =  new Guid(lookupList.ID.ToString());  // 取得這個Lookup數據源List的Guid
                    newList.Fields.AddLookup(fieldName, lookupGuid,  false);   // 把上面取得的參數引入到AddLookup方法中,從而創建一個Lookup字段

                    SPFieldLookup splookup = newList.Fields[fieldName]  as SPFieldLookup;  // 綁定數據List到Lookup字段
                    splookup.LookupField = lookupList.Fields[ " Title "].InternalName;
                    splookup.Update();

                    newList.Update();
                }
            }
             // 此處可以顯示操作結果信息

 

  運行代碼后,在網站中可以看到這個新建的List,修改它的View,使我們新建的Field可見,並試着輸入新記錄到這個List中,如下:

 

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM