逐步解說:建立自訂欄位、內容類型、清單定義及清單執行個體

在下列程序中,會說明如何在 SharePoint 中建立名為 Patient Name 的自訂欄位以及使用該欄位的內容類型。 同時還會示範如何將清單定義加入至專案,以及以使用新內容類型和欄位的清單定義為基礎的清單執行個體。

本逐步解說將示範下列工作:

  • 建立和自訂欄位。

  • 建立和自訂使用欄位的內容類型。

  • 建立和自訂清單定義。

  • 建立和自訂清單定義的清單執行個體。

  • 在內容類型和清單執行個體中檢視新欄位。

注意事項注意事項

您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。 您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。 如需詳細資訊,請參閱 Visual Studio 設定

必要條件

您需要下列元件才能完成此逐步解說:

建立自訂欄位項目

首先,在 Visual Studio 中建立名為 [Patient Name] 的自訂欄位項目做為 SharePoint 專案。

若要建立自訂欄位項目

  1. 指向 [檔案] 功能表上的 [新增],然後按一下 [新增專案],顯示 [新增專案] 對話方塊。

  2. 展開 [Visual C#] 或 [Visual Basic] 底下的 [SharePoint] 節點,然後按一下 [2010]。

  3. 按一下 [範本] 窗格中的 [空的 SharePoint 專案],將專案的名稱變更為 CustomField1,然後按一下 [確定]。

    [SharePoint 自訂精靈] 隨即出現。 [空專案] 範本可用於自訂欄位項目,因為這些項目沒有範本。

  4. 在 [指定網站和安全性層級進行偵錯] 頁面上,輸入您想要加入新自訂欄位項目之 SharePoint 伺服器網站的 URL,或使用預設位置 (http://<system name>/))。

  5. 在 [此 SharePoint 方案的信任層級為何?] 區段中,使用 [部署為沙箱化方案] 預設值。

    如需沙箱化方案與陣列方案比較的詳細資訊,請參閱沙箱化方案考量

  6. 按一下 [完成]。 您應會看到專案出現在 [方案總管] 中。

  7. 將 [空元素] 專案項目加入至專案。 若要這麼做,請在 [方案總管] 中按一下欄位的專案節點 ([CustomField1]),然後按一下 [專案] 功能表上的 [加入新項目]。

  8. 展開 [Visual C#] 或 [Visual Basic] 底下的 [SharePoint] 節點,然後按一下 [2010]。

  9. 在 [範本] 窗格中選取 [空元素],保留預設名稱 EmptyElement1,然後按一下 [加入]。

  10. 在 Elements.xml 檔案的 EmptyElement1 底下,將下列程式碼加入至 <Elements> 標籤後面:

    <Field ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
        Type="Note" 
        Name="PatientName" 
        DisplayName="Patient Name" 
        Group="A Custom Group">
    </Field>
    

    這會加入名為 [Patient Name] 的欄位。

    重要事項重要事項

    在加入自訂欄位時,您必須指定 ID、Type、Name、DisplayName 和 Group 屬性,欄位才能在 SharePoint 中正確顯示。 如果陳述式完成,但出現錯誤,表示雖然實際上要求五項屬性,但您只需要使用其中三項。

  11. F5 鍵執行並部署專案至 SharePoint。

    如果您收到表示指令碼偵錯已停用的訊息,請按一下 [] 繼續偵錯。

  12. 如果這是您第一次在 Visual Studio 中對 Web 應用程式偵錯,系統會詢問您是否要修改 Web 組態檔來啟用偵錯。 請回答 []。

  13. 在 SharePoint 網頁的頂端,按一下 [網站動作] 按鈕,再按一下 [網站設定]。

  14. 在 [網站設定] 頁面的 [組件庫] 區段底下,按一下 [網站欄] 連結。

  15. 在 [網站欄組件庫] 頁面中,向下捲動頁面到 [自訂欄] 標題,注意新欄位項目 [Patient Name] 已加入。

  16. 關閉瀏覽器。

建立自訂內容類型

接下來,以使用前面程序建立的新欄位的 SharePoint 連絡人清單為基礎,建立內容類型。

若要建立自訂內容類型

  1. 將內容類型加入至專案。 若要這麼做,請按一下 [方案總管] 中的專案節點,然後按一下 [專案] 功能表上的 [加入新項目]。

  2. 展開 [Visual C#] 或 [Visual Basic] 底下的 [SharePoint] 節點,然後按一下 [2010]。

  3. 選取 [範本] 窗格中的 [內容類型],並使用預設名稱 ContentType1。

  4. 在 [SharePoint 自訂精靈] 中,選取 [連絡人] 做為新內容類型的基礎內容類型,然後按一下 [完成]。

    這會開啟內容類型的 Elements.xml 檔案以進行編輯。

  5. 在 Elements.xml 的 <FieldRefs> 區段中,複製並貼上:

    <FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
        Name="PatientName" 
        DisplayName="Patient Name" 
        Required="TRUE"/>
    

    這裡使用的 [FieldRef ID] 是前面為自訂欄位建立的欄位 ID。

  6. F5 鍵執行並部署專案。

  7. 在 SharePoint 網頁的頂端,按一下 [網站動作] 按鈕,再按一下 [網站設定]。

  8. 在 [網站設定] 頁面的 [組件庫] 區段底下,按一下 [網站內容類型] 連結。

  9. 在 [網站內容類型庫] 頁面中,記下剛才建立的新內容類型 [CustomField1 - ContentType1]。 按一下它來檢視其欄位。 在 [CustomField1 - ContentType1] 的欄位清單中,注意到欄位 [Patient Name] 已加入。

  10. 關閉瀏覽器。

建立清單定義和清單執行個體

現在,建立使用新內容類型和欄位的清單定義和清單執行個體。 由於我們想以剛才建立的內容類型為基礎來建立清單定義,我們將使用 [內容類型中的清單定義] 專案項目範本。

若要建立清單定義和清單執行個體

  1. 將清單定義加入至專案。 若要這麼做,請按一下 [方案總管] 中的專案節點,然後按一下 [專案] 功能表上的 [加入新項目]。

  2. 展開 [Visual C#] 或 [Visual Basic] 底下的 [SharePoint] 節點,然後按一下 [2010]。

  3. 選取 [範本] 窗格中的 [內容類型中的清單定義],並使用預設名稱 ListDefinition1。

  4. 在 [清單定義的顯示名稱為何?] 方塊中,保留預設值 [CustomField1 - ListDefinition1]。

  5. 在 [您的清單定義要使用哪個內容類型?] 清單中,使用預設且唯一的值 [CustomField1 - ContentType1]。

    這會根據修改過的新連絡人清單建立可自訂的清單定義。

  6. 選取 [加入這個清單定義的清單執行個體] 方塊,將清單執行個體專案項目加入至專案。 這個清單執行個體將是新清單定義的執行個體。

  7. 按一下 [完成]。 您應會看到清單定義出現在 [方案總管] 中。

自訂清單定義

最後,將新欄位 [Patient Name] 加入至清單定義來自訂它。

重要事項重要事項

在清單定義的 Elements.xml 中,[Name] 屬性的值必須與清單定義專案項目的資料夾名稱相符,否則執行專案時會發生錯誤。 若要確定 [Name] 屬性與資料夾名稱相符,請使用取代參數 (或「語彙基元」(Token)) $ProjectItemName$。 當 SharePoint 專案封裝和部署時,此語彙基元會轉換成清單定義的實際資料夾名稱。 如果將 [Name] 屬性的值變更為此語彙基元以外的值,則您的應用程式可能無法正確執行。 如需詳細資訊,請參閱可置換的參數

若要將欄位加入至清單定義

  1. 在 [方案總管] 中,按兩下 [ListDefinition1] 底下的 Schema.xml 來檢視它。

    Schema.xml 會定義清單定義的所有欄位和其他項目,例如名稱和位址。 您會發現檔案上方的 <Fields> 項目底下,內容類型已加入下列欄位定義:

    <FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
        Name="PatientName" 
        DisplayName="Patient Name" 
        Required="TRUE" />
    
  2. F5 鍵執行並部署專案。

  3. 在 SharePoint 快速啟動列的 [清單] 區段底下,按一下 [CustomField1 - ListInstance1] 連結。

    這是新清單定義的清單執行個體。 請注意,新的 [Patient Name] 欄位尚未出現在清單執行個體中當成資料行。

  4. 按一下頁面頂端 [清單工具] 功能表索引標籤中的 [清單],然後按一下功能區列上的 [修改此檢視] 按鈕。

  5. 在可用的資料行名稱清單中,選取 [Patient Name],然後按一下 [確定]。 請注意,[Patient Name] 欄位現在會出現在清單執行個體中。

請參閱

其他資源

開發 SharePoint 方案

HOW TO:建立自訂欄位類型

內容類型

資料行