了解 ListObject 資料行和資料列順序的持續性

更新:2007 年 11 月

適用於

本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。

專案類型

  • 文件層級專案

Microsoft Office 版本

  • Excel 2003

  • Excel 2007

如需詳細資訊,請參閱依應用程式和專案類型提供的功能

將資料繫結至在設計階段加入至文件的 ListObject 控制項時,Visual Studio Tools for Office 會在每次儲存活頁簿時,記錄資料行和資料列順序。如果使用者在執行階段移動 ListObject 資料行或資料列,在下一次開啟活頁簿時,則會保留新的順序,而且 ListObject 控制項會重新繫結至資料來源。

資料行和資料列順序是如何持續的

當儲存包含繫結至資料之 ListObject 的活頁簿時,資料行和資料列順序會儲存在活頁簿的自訂文件屬性中。

藉由對工作表和清單物件的組合名稱使用雜湊程式碼,來判斷屬性的名稱。例如,Sheet1 上名為 List1 之 ListObject 控制項的自訂文件屬性名稱會是 ___2387CEF09___0。如果這個屬性值的長度超過 255 個字元,則會建立另一個自訂文件屬性,並附加下一個序號 (例如,___2387CEF09___1、___2387CEF09___2 等等)。

自訂文件屬性的值包含資料行名稱和資料列編號。例如,如果 ListObject 是由四個資料列和兩個資料行組成,其名為 LastName 和 FirstName,則屬性的值將會是 FirstName*LastName%1*2*3*4。如果使用者將第三個資料列移至第二資料列的上面,則在儲存活頁簿時,值會變更為 FirstName*LastName%1*3*2*4。

下次開啟活頁簿時,ListObject 會從自訂文件屬性讀取資訊,並在載入資料時,維護資料列和資料行的順序。

如何還原資料行和資料列順序

如果想要將 ListObject 還原為其原始的資料行和資料列順序,則可以呼叫 ResetPersistedBindingInformation 方法。這個方法會移除與指定 ListObject 之資料行和資料列順序相關的自訂文件屬性。如果不想保留 ListObject 的資料行和資料列順序,請從活頁簿的 Shutdown 事件呼叫這個方法。

請參閱

工作

HOW TO:將 ListObject 欄對應到資料

概念

ListObject 控制項

其他資源

Excel 主控制項