Freigeben über


DesignerDataSourceView Klasse

Definition

Fungiert als Basisklasse für Klassen der Datenquellenansicht zur Entwurfszeit.

public ref class DesignerDataSourceView abstract
public abstract class DesignerDataSourceView
type DesignerDataSourceView = class
Public MustInherit Class DesignerDataSourceView
Vererbung
DesignerDataSourceView
Abgeleitet

Beispiele

Das folgende Codebeispiel zeigt, wie sie ein benutzerdefiniertes DesignerDataSourceView Objekt zusammen mit einer benutzerdefinierten IDataSourceViewSchema Klasse und zwei benutzerdefinierten IDataSourceFieldSchema Klassen erstellen.

Dieses Beispiel ist Teil eines größeren Beispiels für die DataSourceDesigner -Klasse.

// A design-time data source view
public class CustomDesignDataSourceView : DesignerDataSourceView
{
    private ArrayList _data = null;

    public CustomDesignDataSourceView(
        CustomDataSourceDesigner owner, string viewName)
        : base(owner, viewName)
    {}

    // Get data for design-time display
    public override IEnumerable GetDesignTimeData(
        int minimumRows, out bool isSampleData)
    {
        if (_data == null)
        {
            // Create a set of design-time fake data
            _data = new ArrayList();
            for (int i = 1; i <= minimumRows; i++)
            {
                _data.Add(new BookItem("ID_" + i.ToString(),
                    "Design-Time Title 0" + i.ToString()));
            }
        }
        isSampleData = true;
        return _data as IEnumerable;
    }

    public override IDataSourceViewSchema Schema
    {
        get { return new BookListViewSchema(); }
    }

    // Allow getting the record count
    public override bool CanRetrieveTotalRowCount
    {
        get { return true; }
    }
    // Do not allow deletions
    public override bool CanDelete
    {
        get { return false; }
    }
    // Do not allow insertions
    public override bool CanInsert
    {
        get { return false; }
    }
    // Do not allow updates
    public override bool CanUpdate
    {
        get { return false; }
    }
    // Do not allow paging
    public override bool CanPage
    {
        get { return false; }
    }
    // Do not allow sorting
    public override bool CanSort
    {
        get { return false; }
    }
}
' A     design-time data source view
Public Class CustomDesignDataSourceView
    Inherits DesignerDataSourceView

    Private _data As ArrayList = Nothing

    Public Sub New(ByVal owner As CustomDataSourceDesigner, ByVal viewName As String)
        MyBase.New(owner, viewName)
    End Sub

    ' Get data for design-time display
    Public Overrides Function GetDesignTimeData( _
        ByVal minimumRows As Integer, _
        ByRef isSampleData As Boolean) As IEnumerable

        If IsNothing(_data) Then
            ' Create a set of design-time fake data
            _data = New ArrayList()
            Dim i As Integer
            For i = 1 To minimumRows
                _data.Add(New BookItem("ID_" & i.ToString(), _
                    "Design-Time Title 0" & i.ToString()))
            Next
        End If
        isSampleData = True
        Return CType(_data, IEnumerable)
    End Function

    Public Overrides ReadOnly Property Schema() As IDataSourceViewSchema
        Get
            Return New BookListViewSchema()
        End Get
    End Property

    ' Allow getting the record count
    Public Overrides ReadOnly Property CanRetrieveTotalRowCount() As Boolean
        Get
            Return True
        End Get
    End Property
    ' Do not allow deletions
    Public Overrides ReadOnly Property CanDelete() As Boolean
        Get
            Return False
        End Get
    End Property
    ' Do not allow insertions
    Public Overrides ReadOnly Property CanInsert() As Boolean
        Get
            Return False
        End Get
    End Property
    ' Do not allow updates
    Public Overrides ReadOnly Property CanUpdate() As Boolean
        Get
            Return False
        End Get
    End Property
    ' Do not allow paging
    Public Overrides ReadOnly Property CanPage() As Boolean
        Get
            Return False
        End Get
    End Property
    ' Do not allow sorting
    Public Overrides ReadOnly Property CanSort() As Boolean
        Get
            Return False
        End Get
    End Property
End Class
// A custom View Schema class
public class BookListViewSchema : IDataSourceViewSchema
{
    public BookListViewSchema()
    { }

    // The name of this View Schema
    public string Name
    {
        get { return "BookList"; }
    }

    // Build a Field Schema array
    public IDataSourceFieldSchema[] GetFields()
    {
        IDataSourceFieldSchema[] fields = new IDataSourceFieldSchema[2];
        fields[0] = new CustomIDFieldSchema();
        fields[1] = new CustomTitleFieldSchema();
        return fields;
    }
    // There are no child views, so return null
    public IDataSourceViewSchema[] GetChildren()
    {
        return null;
    }
}

// A custom Field Schema class for ID
public class CustomIDFieldSchema : IDataSourceFieldSchema
{
    public CustomIDFieldSchema()
    { }

    // Name is ID
    public string Name
    {
        get { return "ID"; }
    }
    // Data type is string
    public Type DataType
    {
        get { return typeof(string); }
    }
    // This is not an Identity field
    public bool Identity
    {
        get { return false; }
    }
    // This field is read only
    public bool IsReadOnly
    {
        get { return true; }
    }
    // This field is unique
    public bool IsUnique
    {
        get { return true; }
    }
    // This field can't be longer than 20
    public int Length
    {
        get { return 20; }
    }
    // This field can't be null
    public bool Nullable
    {
        get { return false; }
    }
    // This is a Primary Key
    public bool PrimaryKey
    {
        get { return true; }
    }

    // These properties do not apply
    public int Precision
    {
        get { return -1; }
    }
    public int Scale
    {
        get { return -1; }
    }
}

// A custom Field Schema class for Title
public class CustomTitleFieldSchema : IDataSourceFieldSchema
{
    public CustomTitleFieldSchema()
    { }

    // Name is Title
    public string Name
    {
        get { return "Title"; }
    }
    // Type is string
    public Type DataType
    {
        get { return typeof(string); }
    }
    // This is not an Identity field
    public bool Identity
    {
        get { return false; }
    }
    // This field is not read only
    public bool IsReadOnly
    {
        get { return false; }
    }
    // This field is not unique
    public bool IsUnique
    {
        get { return false; }
    }
    // This field can't be longer than 100
    public int Length
    {
        get { return 100; }
    }
    // This field can't be null
    public bool Nullable
    {
        get { return false; }
    }
    // This is not the Primary Key
    public bool PrimaryKey
    {
        get { return false; }
    }

    // These properties do not apply
    public int Precision
    {
        get { return -1; }
    }
    public int Scale
    {
        get { return -1; }
    }
}
' A custom View Schema class
Public Class BookListViewSchema
    Implements IDataSourceViewSchema

    Public Sub New()
    End Sub

    ' The name of this View Schema
    Public ReadOnly Property Name() As String Implements IDataSourceViewSchema.Name
        Get
            Return "BookList"
        End Get
    End Property

    ' Build a Field Schema array
    Public Function GetFields() As IDataSourceFieldSchema() Implements IDataSourceViewSchema.GetFields
        Dim fields(1) As IDataSourceFieldSchema
        fields(0) = New CustomIDFieldSchema()
        fields(1) = New CustomTitleFieldSchema()
        Return fields
    End Function
    ' There are no child views, so return Nothing
    Public Function GetChildren() As IDataSourceViewSchema() Implements IDataSourceViewSchema.GetChildren
        Return Nothing
    End Function
End Class

' A custom Field Schema class for ID
Public Class CustomIDFieldSchema
    Implements IDataSourceFieldSchema

    Public Sub New()
    End Sub

    ' Name is ID
    Public ReadOnly Property Name() As String Implements IDataSourceFieldSchema.Name
        Get
            Return "ID"
        End Get
    End Property
    ' Data type is string
    Public ReadOnly Property DataType() As Type Implements IDataSourceFieldSchema.DataType
        Get
            Return GetType(String)
        End Get
    End Property
    ' This is not an Identity field
    Public ReadOnly Property Identity() As Boolean Implements IDataSourceFieldSchema.Identity
        Get
            Return False
        End Get
    End Property
    ' This field is read only
    Public ReadOnly Property IsReadOnly() As Boolean Implements IDataSourceFieldSchema.IsReadOnly
        Get
            Return True
        End Get
    End Property
    ' This field is unique
    Public ReadOnly Property IsUnique() As Boolean Implements IDataSourceFieldSchema.IsUnique
        Get
            Return True
        End Get
    End Property
    ' This field can't be longer than 20
    Public ReadOnly Property Length() As Integer Implements IDataSourceFieldSchema.Length
        Get
            Return 20
        End Get
    End Property
    ' This field can't be null
    Public ReadOnly Property Nullable() As Boolean Implements IDataSourceFieldSchema.Nullable
        Get
            Return False
        End Get
    End Property
    ' This is a Primary Key
    Public ReadOnly Property PrimaryKey() As Boolean Implements IDataSourceFieldSchema.PrimaryKey
        Get
            Return True
        End Get
    End Property

    ' These properties do not apply
    Public ReadOnly Property Precision() As Integer Implements IDataSourceFieldSchema.Precision
        Get
            Return -1
        End Get
    End Property
    Public ReadOnly Property Scale() As Integer Implements IDataSourceFieldSchema.Scale
        Get
            Return -1
        End Get
    End Property
End Class

' A custom Field Schema class for Title
Public Class CustomTitleFieldSchema
    Implements IDataSourceFieldSchema

    Public Sub New()
    End Sub

    ' Name is Title
    Public ReadOnly Property Name() As String Implements IDataSourceFieldSchema.Name
        Get
            Return "Title"
        End Get
    End Property
    ' Type is string
    Public ReadOnly Property DataType() As Type Implements IDataSourceFieldSchema.DataType
        Get
            Return GetType(String)
        End Get
    End Property
    ' This is not an Identity field
    Public ReadOnly Property Identity() As Boolean Implements IDataSourceFieldSchema.Identity
        Get
            Return False
        End Get
    End Property
    ' This field is not read only
    Public ReadOnly Property IsReadOnly() As Boolean Implements IDataSourceFieldSchema.IsReadOnly
        Get
            Return False
        End Get
    End Property
    ' This field is not unique
    Public ReadOnly Property IsUnique() As Boolean Implements IDataSourceFieldSchema.IsUnique
        Get
            Return False
        End Get
    End Property
    ' This field can't be longer than 100
    Public ReadOnly Property Length() As Integer Implements IDataSourceFieldSchema.Length
        Get
            Return 100
        End Get
    End Property
    ' This field can't be null
    Public ReadOnly Property Nullable() As Boolean Implements IDataSourceFieldSchema.Nullable
        Get
            Return False
        End Get
    End Property
    ' This is not the Primary Key
    Public ReadOnly Property PrimaryKey() As Boolean Implements IDataSourceFieldSchema.PrimaryKey
        Get
            Return False
        End Get
    End Property

    ' These properties do not apply
    Public ReadOnly Property Precision() As Integer Implements IDataSourceFieldSchema.Precision
        Get
            Return -1
        End Get
    End Property
    Public ReadOnly Property Scale() As Integer Implements IDataSourceFieldSchema.Scale
        Get
            Return -1
        End Get
    End Property
End Class

Hinweise für Ausführende

Wenn Sie von der DesignerDataSourceView -Klasse erben, müssen Sie die GetDesignTimeData(Int32, Boolean) Methode entweder überschreiben, um Beispieldaten zu erstellen, die der Schema -Eigenschaft entsprechen, oder um reale Daten aus der Datenquelle zurückzugeben.

Konstruktoren

DesignerDataSourceView(IDataSourceDesigner, String)

Initialisiert eine neue Instanz der DesignerDataSourceView-Klasse unter Verwendung der angegebenen Datenquelle und des Ansichtsnamens.

Eigenschaften

CanDelete

Ruft einen Wert ab, der angibt, ob das DataSourceView-Objekt, das dem aktuellen DataSourceControl-Objekt zugeordnet ist, die ExecuteDelete(IDictionary, IDictionary)-Methode unterstützt.

CanInsert

Ruft einen Wert ab, der angibt, ob das DataSourceView-Objekt, das dem aktuellen DataSourceControl-Objekt zugeordnet ist, die ExecuteInsert(IDictionary)-Methode unterstützt.

CanPage

Ruft einen Wert ab, der anzeigt, ob das DataSourceView-Objekt, das dem aktuellen DataSourceControl-Objekt zugeordnet ist, das Paging über die Daten unterstützt, die von der ExecuteSelect(DataSourceSelectArguments)-Methode abgerufen wurden.

CanRetrieveTotalRowCount

Ruft einen Wert ab, der angibt, ob das DataSourceView-Objekt, das dem aktuellen DataSourceControl-Objekt zugeordnet ist, das Abrufen der Gesamtanzahl der Datenzeilen anstelle der eigentlichen Daten unterstützt.

CanSort

Ruft einen Wert ab, der angibt, ob das DataSourceView-Objekt, das dem aktuellen DataSourceControl-Objekt zugeordnet ist, eine sortierte Ansicht der zugrunde liegenden Datenquelle unterstützt.

CanUpdate

Ruft einen Wert ab, der angibt, ob das DataSourceView-Objekt, das dem aktuellen DataSourceControl-Objekt zugeordnet ist, die ExecuteUpdate(IDictionary, IDictionary, IDictionary)-Methode unterstützt.

DataSourceDesigner

Ruft einen Verweis auf den Designer ab, der dieses DesignerDataSourceView-Steuerelement erstellt hat.

Name

Ruft den beim Erstellen dieser Instanz der DesignerDataSourceView-Klasse angegebenen Namen der Ansicht ab.

Schema

Ruft ein Schema ab, das die Datenquellensicht beschreibt, die von diesem Ansichtsobjekt dargestellt wird.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetDesignTimeData(Int32, Boolean)

Generiert unter Verwendung der angegebenen Anzahl von Zeilen Entwurfszeitdaten, die dem Schema des zugeordneten Datenquellen-Steuerelements entsprechen, und gibt an, ob es sich um Beispieldaten oder echte Daten handelt.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen