Partager via


Fonctionnement de la persistance de l'ordre des lignes et colonnes ListObject

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau du document

Version de Microsoft Office

  • Excel 2003

  • Excel 2007

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Lorsque vous liez des données à un contrôle ListObject qui a été ajouté à un document au moment de la conception, Visual Studio Tools pour Office conserve une trace de l'ordre des colonnes et des lignes chaque fois que le classeur est enregistré. Si un utilisateur déplace les colonnes ou les lignes ListObject lors de l'exécution, le nouvel ordre est conservé lors de la prochaine ouverture du classeur et le contrôle ListObject se lie de nouveau à la source de données.

Comment l'ordre des colonnes et des lignes est rendu persistant

Lorsque vous enregistrez un classeur qui contient un ListObject lié aux données, l'ordre des colonnes et des lignes est stocké dans le classeur dans une propriété de document personnalisée.

Le nom de la propriété est déterminé en utilisant un code de hachage pour le nom combiné de la feuille de calcul et de l'objet de liste. Par exemple, le nom de la propriété de document personnalisée pour un contrôle ListObject nommé List1 sur Sheet1 serait ___2387CEF09___0. Si la valeur de cette propriété dépasse 255 caractères, une autre propriété de document personnalisée est créée avec le numéro séquentiel suivant ajouté ; par exemple, ___2387CEF09___1, ___2387CEF09___2, etc.

La valeur de la propriété de document personnalisée contient les noms de colonnes et les numéros de lignes. Par exemple, si l'ListObject est composé de quatre lignes et de deux colonnes nommées LastName et FirstName, la valeur de la propriété serait FirstName*LastName%1*2*3*4. Si l'utilisateur déplace la ligne trois au-dessus de la ligne deux, la valeur deviendra FirstName*LastName%1*3*2*4 lorsque le classeur sera enregistré.

Lors de la prochaine ouverture du classeur, ListObject lit les informations des propriétés de document personnalisées et conserve l'ordre des lignes et des colonnes lorsque les données sont chargées.

Comment rétablir l'ordre des colonnes et des lignes.

Si vous souhaitez rétablir l'ordre d'origine des colonnes et des lignes de l'ListObject, vous pouvez appeler la méthode ResetPersistedBindingInformation. Cette méthode supprime les propriétés de document personnalisées en rapport avec l'ordre des colonnes et des lignes de ListObject spécifié. Appelez cette méthode à partir de l'événement Shutdown du classeur si vous ne souhaitez pas conserver l'ordre des colonnes et des lignes de l'ListObject.

Voir aussi

Tâches

Comment : mapper des colonnes ListObject aux données

Concepts

ListObject, contrôle

Autres ressources

Contrôles hôtes Excel