HOW TO:將 ListObject 欄對應到資料
當您將 ListObject 控制項繫結至 DataTable 時,可能不想顯示清單中的所有欄,或者有某些未繫結資料的欄。 您可以在呼叫 SetDataBinding 方法時,對應想要顯示在 ListObject 中的欄。
**適用於:**本主題中的資訊適用於 Excel 2007 和 Excel 2010 的文件層級專案和應用程式層級專案。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
如需觀看相關示範影片,請參閱如何在 Excel 中建立連接至 SharePoint 清單的清單?(英文)。
對應欄
若要將資料表對應至清單中的欄
在類別 (Class) 層級建立 DataTable。
Dim table As System.Data.DataTable = New System.Data.DataTable("Employees")
System.Data.DataTable table = new System.Data.DataTable("Employees");
在 Sheet1 類別 (文件層級專案) 或 ThisAddIn 類別 (應用程式層級專案) 的 Startup 事件處理常式中,加入範例欄和資料。
table.Columns.Add("Id", GetType(Int32)) table.Columns.Add("FirstName", GetType(String)) table.Columns.Add("LastName", GetType(String)) table.Columns.Add("Title", GetType(String)) table.Rows.Add(1, "Nancy", "Anderson", "Sales Representative") table.Rows.Add(2, "Robert", "Brown", "Sales Representative")
table.Columns.Add("Id", typeof(int)); table.Columns.Add("FirstName", typeof(string)); table.Columns.Add("LastName", typeof(string)); table.Columns.Add("Title", typeof(string)); table.Rows.Add(1, "Nancy", "Anderson", "Sales Representative"); table.Rows.Add(2, "Robert", "Brown", "Sales Representative");
呼叫 SetDataBinding 方法,並依照顯示順序傳入欄名稱。 清單物件會繫結至新建立的 DataTable,但清單物件中的欄順序會與 DataTable 中顯示的欄順序不同。
Me.List1.AutoSetDataBoundColumnHeaders = True Me.List1.SetDataBinding(table, "", "Title", "LastName", "FirstName")
this.list1.AutoSetDataBoundColumnHeaders = true; this.list1.SetDataBinding(table, "", "Title", "LastName", "FirstName");
指定非對應的欄
當您將欄對應至 DataTable 時,也可以藉由傳入空字串,指定某些欄不應繫結至資料。 然後,將未繫結至資料的新欄加入至 ListObject 控制項。
若要在對應 ListObject 欄時指定非對應的欄
呼叫 SetDataBinding 方法,並依照顯示順序傳入欄名稱。 使用空字串指出加入非對應欄的位置。在此情況下,加入位置是在標題欄和姓氏欄之間。
Me.List1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName")
this.list1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName");
編譯程式碼
這個程式碼範例假設您在顯示這個程式碼的工作表上,有名為 list1 的現有 ListObject。
請參閱
工作
概念
在應用程式層級增益集的執行階段中擴充 Word 文件和 Excel 活頁簿