ListObject 列と行順序の永続性について
更新 : 2007 年 11 月
対象 |
---|
このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 プロジェクトの種類
Microsoft Office のバージョン
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
デザイン時にドキュメントに追加された ListObject コントロールにデータをバインドすると、ブックを保存するたびに Visual Studio Tools for Office によって列と行の順序が追跡されます。実行時にユーザーが ListObject の列または行を移動すると、次にブックを開いて ListObject コントロールを再度データ ソースにバインドするときに、新しい順序が維持されます。
列と行の順序を維持する方法
データにバインドされた ListObject が含まれるブックを保存すると、列と行の順序がブックのカスタム ドキュメント プロパティに保存されます。
プロパティの名前は、ワークシートとリスト オブジェクトを組み合わせた名前のハッシュ コードを使用して決定されます。たとえば、Sheet1 の List1 という名前の ListObject コントロールのカスタム ドキュメント プロパティ名は、___2387CEF09___0 のようになります。このプロパティの値が 255 文字を超える長さになると、次の連番が付いた別のカスタム ドキュメント プロパティが作成されます。たとえば、___2387CEF09___1、___2387CEF09___2、のようになります。
カスタム ドキュメント プロパティの値には、列の名前と行の番号が含まれます。たとえば、ListObject が 4 つの行と、LastName と FirstName という名前の 2 つの列で構成されている場合、プロパティの値は、FirstName*LastName%1*2*3*4 になります。ユーザーが行 3 を行 2 の上に移動すると、ブックを保存するときにこのプロパティの値が FirstName*LastName%1*3*2*4 に変更されます。
次にブックを開いたとき、ListObject はカスタム ドキュメント プロパティから情報を読み取り、データを読み込むときに行と列の順序を維持します。
列と行の順序を元に戻す方法
ListObject の列と行の順序を元に戻すには、ResetPersistedBindingInformation メソッドを呼び出します。このメソッドは、指定の ListObject の列と行の順序に関連するカスタム ドキュメント プロパティを削除します。ListObject の列と行の順序を維持しないようにするには、このメソッドをブックの Shutdown イベントから呼び出します。