Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Mise à jour : Juillet 2008
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. Projets au niveau du document
Projets au niveau de l'application
Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet. |
Le contrôle ListObject est une liste qui expose des événements et peut être liée aux données. Lorsque vous ajoutez une liste à une feuille de calcul, Visual Studio Tools pour Office crée un contrôle ListObject que vous pouvez programmer directement sans avoir à parcourir le modèle objet Microsoft Office Excel.
Création du contrôle
Vous pouvez ajouter des contrôles ListObject à une feuille de calcul Microsoft Office Excel au moment du design ou de l'exécution dans des personnalisations au niveau du document. À compter de Visual Studio 2008 Service Pack 1 (SP1), vous pouvez ajouter des contrôles ListObject au moment de l'exécution dans un complément d'application. Pour plus d'informations, consultez Comment : ajouter des contrôles ListObject aux feuilles de calcul.
Remarque : |
|---|
Par défaut, les objets de liste créés dynamiquement ne restent pas dans la feuille de calcul comme contrôles hôtes lorsque la feuille de calcul est fermée. Pour plus d'informations, consultez Ajout de contrôles à des documents Office au moment de l'exécution. |
Liaison de données au contrôle
Un contrôle ListObject prend en charge la liaison de données simple et complexe. Le contrôle ListObject peut être lié à une source de données à l'aide des propriétés DataSource et DataMember au moment du design ou à l'aide de la méthode SetDataBinding au moment de l'exécution.
Remarque : |
|---|
Le ListObject est mis à jour automatiquement lorsqu'il est lié à une source de données, telle qu'un DataTable, qui déclenche des événements lorsque les données sont modifiées. Si vous liez le ListObject à une source de données qui ne déclenche pas d'événements lorsque les données sont modifiées, vous devez appeler la méthode RefreshDataRow ou RefreshDataRows pour mettre à jour le ListObject. |
Lorsque vous ajoutez un ListObject à une cellule de feuille de calcul en mappant un élément de schéma récurrent à cette cellule, Visual Studio Tools pour Office mappe automatiquement le ListObject au groupe de données généré. Toutefois, le ListObject n'est pas lié automatiquement aux données. Vous pouvez suivre des étapes pour lier le ListObject au groupe de données au moment du design ou de l'exécution dans un projet de niveau document. À compter de SP1, vous pouvez lier par programme le ListObject au groupe de données au moment de l'exécution dans un complément d'application.
Dans la mesure où les données sont séparées de l'objet ListObject, vous devez ajouter et supprimer des données via le groupe de données limité, et pas directement via l'objet ListObject. Si les données du groupe de données lié sont mises à jour par le biais d'un mécanisme quelconque, ces modifications sont automatiquement répercutées dans le contrôle ListObject. Pour plus d'informations, consultez Liaison de données aux contrôles.
Vous pouvez remplir rapidement un contrôle ListObject en liant le ListObject à une source de données. Si vous modifiez les données dans un ListObject lié aux données, les modifications sont également apportées automatiquement dans la source de données. Si vous souhaitez remplir un ListObject puis permettre à l'utilisateur de modifier les données dans le ListObject sans modifier la source de données, vous pouvez utiliser la méthode Disconnect pour détacher le ListObject de la source de données. Pour plus d'informations, consultez Comment : remplir de données des contrôles ListObject.
Remarque : |
|---|
La liaison de données n'est pas prise en charge sur les contrôles ListObject se chevauchant. |
Amélioration des performances dans les contrôles ListObject
La lecture d'un fichier XML dans un contrôle ListObject lié aux données a tendance à être plus lente si vous liez d'abord le contrôle et que vous appelez ensuite ReadXml pour remplir le groupe de données. Pour améliorer les performances, appelez ReadXml avant de lier le contrôle.
Déconnexion des contrôles ListObject de la source de données
Après avoir rempli un contrôle ListObject avec des données en le liant à une source de données, vous pouvez le déconnecter afin que les modifications apportées aux données dans l'objet de liste n'affectent pas la source de données. Pour plus d'informations, consultez Comment : remplir de données des contrôles ListObject.
Mise en forme
Une mise en forme qui peut être appliquée à un Microsoft.Office.Interop.Excel.ListObject peut s'appliquer à un contrôle Microsoft.Office.Tools.Excel.ListObject. Cela inclut les bordures, les polices, le format de nombre et les styles. Les utilisateurs finaux peuvent réorganiser les colonnes dans un ListObject lié aux données, et ces modifications persisteront dans le document, à condition que l'objet ListObject ait été ajouté au document au moment du design. Lors de l'ouverture suivante du document, l'objet de liste est lié à la même source de données, mais l'ordre des colonnes reflète les modifications des utilisateurs.
Ajout et suppression de colonnes au moment de l'exécution
Au moment de l'exécution, vous ne pouvez pas ajouter ou supprimer manuellement des colonnes dans un contrôle ListObject lié aux données. Si un utilisateur final essaie de supprimer une colonne, elle sera immédiatement restaurée et toutes les colonnes ajoutées seront supprimées. Il est, par conséquent, important d'écrire du code afin d'expliquer aux utilisateurs la raison pour laquelle ils ne peuvent pas exécuter ces actions sur un ListObject lié aux données. Visual Studio Tools pour Office fournit plusieurs événements sur un ListObject associé à la liaison de données. Par exemple, vous pouvez utiliser l'événement OriginalDataRestored pour avertir les utilisateurs que les données qu'ils ont tenté de supprimer ne peuvent pas l'être et ont été restaurées.
Ajout et suppression de lignes au moment de l'exécution
Vous pouvez ajouter et supprimer manuellement des lignes dans un contrôle ListObject lié aux données, à condition que la source de données autorise l'ajout de nouvelles lignes et ne soit pas en lecture seule. Vous pouvez écrire du code pour des événements tels que BeforeAddDataBoundRow afin de valider les données, ou ErrorAddDataBoundRow afin de refaire une tentative après la résolution d'une erreur.
Pour plus d'informations, consultez Comment : valider des données lorsqu'une nouvelle ligne est ajoutée à un contrôle ListObject et Comment : gérer des erreurs lorsqu'une nouvelle ligne est ajoutée à un contrôle ListObject.
Attribution d'un nouveau nom aux contrôles ListObject dans Excel 2007
Excel 2007 permet aux utilisateurs de modifier le nom de tables Excel au moment de l'exécution en utilisant l'onglet Création. Toutefois, le contrôle ListObject ne prend pas en charge cette fonctionnalité. Si un utilisateur tente de renommer un tableau Excel correspondant à ListObject, le nom d'origine du tableau Excel est automatiquement rétabli lors de l'enregistrement du classeur.
Remarque : |
|---|
Les listes Excel sont appelées tableaux Excel dans Excel 2007. |
Événements
Les événements suivants sont disponibles pour le contrôle ListObject :
Voir aussi
Tâches
Comment : ajouter des contrôles ListObject aux feuilles de calcul
Comment : redimensionner les contrôles ListObject
Comment : valider des données lorsqu'une nouvelle ligne est ajoutée à un contrôle ListObject
Comment : gérer des erreurs lorsqu'une nouvelle ligne est ajoutée à un contrôle ListObject
Comment : mapper des colonnes ListObject aux données
Comment : remplir de données des contrôles ListObject
Contrôles dynamiques de complément Excel, exemple
Comment : remplir des feuilles de calcul avec des données provenant d'une base de données
Concepts
Fonctionnement de la persistance de l'ordre des lignes et colonnes ListObject
Liaison de données aux contrôles
Développement d'un complément d'application pour Excel
Ajout de contrôles à des documents Office au moment de l'exécution
Limitations de programmation des éléments hôtes et des contrôles hôtes
Autres ressources
Contrôles sur des documents Office
Historique des modifications
Date |
Historique |
Raison |
|---|---|---|
|
Juillet 2008 |
Ajout d'informations relatives à l'utilisation de contrôles d'objet de liste dans un complément d'application. |
Modifications de fonctionnalités dans le SP1. |
Remarque :