Freigeben über


ListObject-Steuerelement

Aktualisiert: Juli 2008

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Projekte und Versionen von Visual Studio Tools for Office von Microsoft Office.

Projekte auf Dokumentebene

  • Excel 2007

  • Excel 2003

Projekte auf Anwendungsebene

  • Excel 2007

Weitere Informationen finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Das ListObject-Steuerelement ist eine Liste, die Ereignisse verfügbar macht und an Daten gebunden werden kann. Beim Hinzufügen einer Liste zu einem Arbeitsblatt erstellt Visual Studio Tools for Office ein ListObject-Steuerelement, das Sie direkt für die Programmierung verwenden können, ohne das Objektmodell von Microsoft Office Excel durchlaufen zu müssen.

Erstellen des Steuerelements

Sie können Microsoft Office Excel-Arbeitsblättern ListObject-Steuerelemente zur Entwurfszeit oder zur Laufzeit in Anpassungen auf Dokumentebene hinzufügen. Ab Visual Studio 2008 Service Pack 1 (SP1) können Sie ListObject-Steuerelemente in ein Add-In auf Anwendungsebene zur Laufzeit hinzufügen. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen von ListObject-Steuerelementen zu Arbeitsblättern.

Hinweis:

Standardmäßig werden dynamisch erstellte Listenobjekte beim Schließen des Arbeitsblatts nicht als Hoststeuerelemente im Arbeitsblatt beibehalten. Weitere Informationen hierzu finden Sie unter Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit.

Binden von Daten an das Steuerelement

Das ListObject-Steuerelement unterstützt die einfache und die komplexe Datenbindung. Sie können das ListObject-Steuerelement an eine Datenquelle binden, indem Sie zur Entwurfszeit die DataSource-Eigenschaft und die DataMember-Eigenschaft oder zur Laufzeit die SetDataBinding-Methode verwenden.

Hinweis:

Das ListObject wird automatisch aktualisiert, wenn es an eine Datenquelle gebunden ist. Beispielsweise werden für eine DataTable Ereignisse ausgelöst, wenn die Daten geändert werden. Wenn Sie das ListObject an eine Datenquelle binden, die bei Änderung der Daten keine Ereignisse auslöst, müssen Sie zur Aktualisierung von ListObject die RefreshDataRow-Methode oder die RefreshDataRows-Methode aufrufen.

Wenn Sie einer Arbeitsblattzelle ein ListObject hinzufügen, indem Sie dieser Zelle ein sich wiederholendes Schemaelement zuordnen, ordnet Visual Studio Tools for Office dem generierten DataSet automatisch das ListObject zu. Das ListObject wird jedoch nicht automatisch an die Daten gebunden. Sie können das ListObject zur Entwurfszeit an das Dataset binden, in einem Projekt auf Dokumentebene auch während der Laufzeit. Ab SP1 können Sie das ListObject in einem Add-In auf Anwendungsebene zur Laufzeit programmgesteuert an das DataSet binden.

Da die Daten und das ListObject getrennt sind, sollten Sie die Daten über das gebundene Dataset hinzufügen und entfernen – nicht direkt über das ListObject. Wenn die Daten im gebundenen Dataset auf beliebige Weise aktualisiert werden, werden diese Änderungen vom ListObject-Steuerelement automatisch nachvollzogen. Weitere Informationen hierzu finden Sie unter Binden von Daten an Steuerelemente.

Sie können ein ListObject-Steuerelement schnell mit Daten füllen, indem Sie das ListObject an eine Datenquelle binden. Wenn Sie die Daten in einem datengebundenen ListObject ändern, werden die Änderungen automatisch in die Datenquelle übernommen. Wenn Sie ein ListObject mit Daten füllen möchten und es dem Benutzer anschließend möglich sein soll, Daten im ListObject ohne Änderung der Datenquelle zu ändern, können Sie die Disconnect-Methode verwenden, um das ListObject von der Datenquelle zu trennen. Weitere Informationen finden Sie unter Gewusst wie: Füllen eines ListObject-Steuerelements mit Daten.

Hinweis:

Datenbindung wird nicht für überlappende ListObject-Steuerelemente unterstützt.

Verbessern der Leistung von ListObject-Steuerelementen

Das Einlesen einer XML-Datei in ein datengebundenes ListObject-Steuerelement ist normalerweise langsamer, wenn Sie das Steuerelement zuerst binden und anschließend ReadXml aufrufen, um das Dataset zu füllen. Rufen Sie ReadXml vor dem Binden des Steuerelements auf, um die Leistung zu verbessern.

Trennen der Verbindung von "ListObject"-Steuerelementen mit der Datenquelle

Wenn Sie ein ListObject-Steuerelement durch Binden an eine Datenquelle mit Daten gefüllt haben, können Sie die Verbindung trennen, damit Änderungen an den Daten im Listenobjekt die Datenquelle nicht beeinträchtigen. Weitere Informationen hierzu finden Sie unter Gewusst wie: Füllen eines ListObject-Steuerelements mit Daten.

Formatierung

Die Formatierungen für das Microsoft.Office.Interop.Excel.ListObject können auch auf das Microsoft.Office.Tools.Excel.ListObject-Steuerelement angewendet werden. Dazu gehören Rahmen, Schriftarten, Zahlenformatierungen und Formate. Endbenutzer können die Spalten in einem datengebundenen ListObject neu anordnen. Die Änderungen werden im Dokument beibehalten, vorausgesetzt das ListObject wurde dem Dokument zur Entwurfszeit hinzugefügt. Beim nächsten Öffnen des Dokuments ist das Listenobjekt weiterhin an die gleiche Datenquelle gebunden, die Spaltenreihenfolge gibt jedoch die vom Benutzer vorgenommenen Änderungen wieder.

Hinzufügen und Entfernen von Spalten zur Laufzeit

Sie können in einem datengebundenen ListObject-Steuerelement zur Laufzeit keine Spalten hinzufügen oder entfernen. Wenn ein Endbenutzer versucht, eine Spalte zu löschen, wird die Spalte sofort wiederhergestellt, und alle hinzugefügten Spalten werden entfernt. Aus diesem Grund ist es wichtig, Code zu schreiben, über den die Benutzer darüber aufgeklärt werden, warum diese Aktionen mit einem datengebundenen ListObject nicht ausgeführt werden können. Visual Studio Tools for Office stellt mehrere Ereignisse für ein ListObject bereit, die sich auf die Datenbindung beziehen. Beispielsweise können Sie Benutzer über das OriginalDataRestored-Ereignis darauf aufmerksam machen, dass die vermeintlich gelöschten Daten nicht gelöscht werden können und wiederhergestellt worden sind.

Hinzufügen und Entfernen von Zeilen zur Laufzeit

Sie können in einem datengebundenen ListObject-Steuerelement manuell Zeilen hinzufügen und entfernen, vorausgesetzt die Datenquelle gestattet das Hinzufügen neuer Zeilen und ist nicht schreibgeschützt. Sie können für Ereignisse wie BeforeAddDataBoundRow Code zum Überprüfen der Daten oder Code für ErrorAddDataBoundRow schreiben, um nach einem behobenen Fehler einen erneuten Versuch zu starten.

Weitere Informationen finden Sie unter Gewusst wie: Überprüfen der Daten, wenn einem ListObject-Steuerelement eine neue Zeile hinzugefügt wird und unter Gewusst wie: Behandeln von Fehlern beim Hinzufügen einer neuen Zeile zu einem ListObject-Steuerelement.

Umbenennen von ListObject-Steuerelementen in Excel 2007

Mit Excel 2007 können Benutzer den Namen von Excel-Tabellen zur Laufzeit über die Registerkarte Entwurf ändern. Allerdings unterstützt das ListObject-Steuerelement dieses Feature nicht. Wenn ein Benutzer versucht, eine Excel-Tabelle umzubenennen, die einem ListObject-Steuerelement entspricht, wird der Name der Excel-Tabelle beim Speichern der Arbeitsmappe automatisch auf den ursprünglichen Namen zurückgesetzt.

Hinweis:

Excel-Listen werden in Excel 2007 als Excel-Tabellen bezeichnet.

Ereignisse

Die folgenden Ereignisse sind für das ListObject-Steuerelement verfügbar:

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen von ListObject-Steuerelementen zu Arbeitsblättern

Gewusst wie: Ändern der Größe von ListObject-Steuerelementen

Gewusst wie: Überprüfen der Daten, wenn einem ListObject-Steuerelement eine neue Zeile hinzugefügt wird

Gewusst wie: Behandeln von Fehlern beim Hinzufügen einer neuen Zeile zu einem ListObject-Steuerelement

Gewusst wie: Zuordnung von ListObject-Spalten zu Daten

Gewusst wie: Füllen eines ListObject-Steuerelements mit Daten

Beispiel für dynamische Add-In-Steuerelemente in Excel

Gewusst wie: Auffüllen von Arbeitsblättern mit Daten aus einer Datenbank

Konzepte

Grundlagen der ListObject-Spalte und der Beibehaltung der Zeilenanordnung

Binden von Daten an Steuerelemente

Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in Add-Ins auf Anwendungsebene zur Laufzeit

Entwicklung von Add-Ins auf Anwendungsebene für Excel

Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit

Programmgesteuerte Einschränkungen von Hostelementen und Hoststeuerelementen

Weitere Ressourcen

Excel-Hoststeuerelemente

Word-Hoststeuerelemente

Steuerelemente für Office-Dokumente

Änderungsprotokoll

Date

Versionsgeschichte

Grund

Juli 2008

Informationen über die Verwendung von Listenobjekt-Steuerelementen in einem Add-In auf Anwendungsebene hinzugefügt.

SP1-Featureänderung.