Exportieren (0) Drucken
Alle erweitern

IHierarchicalDataSource-Schnittstelle

Stellt eine hierarchische Datenquelle dar, an die hierarchische datengebundene Steuerelemente, z. B. das TreeView-Steuerelement, gebunden werden können.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

public interface IHierarchicalDataSource
public interface IHierarchicalDataSource
public interface IHierarchicalDataSource
Nicht zutreffend.

ASP.NET unterstützt eine Datenbindungsarchitektur für Steuerelemente, mit der Webserversteuerelemente Daten binden und einheitlich darstellen können. Webserversteuerelemente, die Daten binden, werden als datengebundene Steuerelemente bezeichnet. Die Klassen, die diese Bindung ermöglichen, werden als Datenquellen-Steuerelemente bezeichnet. Datenquellen-Steuerelemente können eine beliebige Datenquelle darstellen: eine Datei, einen Stream, eine relationale Datenbank, ein Geschäftsobjekt usw. Datenquellen-Steuerelemente stellen die Daten für datengebundene Steuerelemente unabhängig von der Quelle oder dem Format der zugrunde liegenden Daten einheitlich dar.

Datenquellen-Steuerelemente, die hierarchische Daten darstellen, sind von der HierarchicalDataSourceControl-Klasse abgeleitet. Diese ist in ASP.NET die Basisimplementierung der IHierarchicalDataSource-Schnittstelle. Mit der IHierarchicalDataSource-Schnittstelle werden Datenquellen-Steuerelemente definiert, mit denen – anstelle von tabellarischen oder aufgelisteten Daten – hierarchische Daten für Webserversteuerelemente verfügbar gemacht werden, die von der HierarchicalDataBoundControl-Klasse abgeleitet werden (z. B. das TreeView-Steuerelement). Die Schnittstelle definiert eine einzelne Methode, GetHierarchicalView, die ein stark typisiertes HierarchicalDataSourceView-Objekt abruft. Datenquellen-Steuerelemente, die diese Schnittstelle implementieren, unterstützen eine hierarchische Sicht für jede hierarchische Ebene von Daten, die sie darstellen. Die Datenquellensichten sind nicht benannt (wie DataSourceView-Objekte), werden aber durch ihren eindeutigen hierarchischen Pfad bezeichnet, der als viewPath-Parameter an die GetHierarchicalView-Methode übergeben wird.

Sie können sich ein Datenquellen-Steuerelement als Kombination aus dem IHierarchicalDataSource-Objekt und den zugehörigen Sichten für die zugrunde liegenden Daten vorstellen. Jedes zugehörige HierarchicalDataSourceView-Objekt definiert die Funktionen eines Datenquellen-Steuerelements für die dargestellte hierarchische Ebene. Wie alle ASP.NET-Objekte für Datenquellensichten können auch diese Objekte Vorgänge wie Einfügen, Aktualisieren, Löschen und Sortieren ausführen.

Datenquellensteuerelemete, die nur hierarchische Daten verfügbar machen (beispielsweise SiteMapDataSource), werden von der HierarchicalDataSourceControl-Klasse abgeleitet. Andere Datenquellen-Steuerelemente, die ihre Daten als hierarchische und als tabellarische Daten verfügbar machen (beispielsweise XmlDataSource), werden von HierarchicalDataSourceControl abgeleitet, implementieren aber die IDataSource-Schnittstelle und die IListSource-Schnittstelle.

Im folgenden Codebeispiel wird veranschaulicht, wie die abstrakte HierarchicalDataSourceControl-Klasse, die die IHierarchicalDataSource-Schnittstelle implementiert, so erweitert werden kann, dass ein Datenquellen-Steuerelement zum Anzeigen von Dateisysteminformationen erstellt wird. Die FileSystemDataSource-Klasse stellt eine Implementierung der GetHierarchicalView-Methode bereit, die ein stark typisiertes Sichtobjekt für einen angegebenen Dateisystempfad abruft. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die HierarchicalDataSourceControl-Klasse.

using System;
using System.Collections;
using System.IO;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public class FileSystemDataSource : HierarchicalDataSourceControl, IHierarchicalDataSource
{
    public FileSystemDataSource() : base() {}

    // Return a strongly typed view for the current data source control.
    private FileSystemDataSourceView view = null;
    protected override HierarchicalDataSourceView GetHierarchicalView(string viewPath) {
        if (null == view) {
            view = new FileSystemDataSourceView(viewPath);
        }
        return view;
    }

    // The FileSystemDataSource can be used declaratively. To enable
    // declarative use, override the default implementation of
    // CreateControlCollection to return a ControlCollection that
    // you can add to.
    protected override ControlCollection CreateControlCollection() {
        return new ControlCollection(this);
    }
}

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.

.NET Framework

Unterstützt in: 3.0, 2.0
Anzeigen:
© 2015 Microsoft