Share via


DesignerDataSourceView Classe

Définition

Sert de classe de base pour les classes d'affichage de source de données au moment du design.

public ref class DesignerDataSourceView abstract
public abstract class DesignerDataSourceView
type DesignerDataSourceView = class
Public MustInherit Class DesignerDataSourceView
Héritage
DesignerDataSourceView
Dérivé

Exemples

L’exemple de code suivant montre comment créer un objet personnalisé DesignerDataSourceView avec une classe personnalisée IDataSourceViewSchema et deux classes personnalisées IDataSourceFieldSchema .

Cet exemple fait partie d’un échantillon plus grand pour la DataSourceDesigner classe.

// 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

Notes pour les responsables de l’implémentation

Lorsque vous héritez de la DesignerDataSourceView classe, vous devez remplacer la GetDesignTimeData(Int32, Boolean) méthode pour créer des exemples de données conformes à la Schema propriété, ou pour retourner des données réelles à partir de la source de données.

Constructeurs

DesignerDataSourceView(IDataSourceDesigner, String)

Initialise une nouvelle instance de la classe DesignerDataSourceView à l'aide du Concepteur de sources de données et du nom de vue spécifiés.

Propriétés

CanDelete

Obtient une valeur indiquant si l’objet DataSourceView associé à l’objet DataSourceControl actif prend en charge la méthode ExecuteDelete(IDictionary, IDictionary).

CanInsert

Obtient une valeur indiquant si l’objet DataSourceView associé à l’objet DataSourceControl actif prend en charge la méthode ExecuteInsert(IDictionary).

CanPage

Obtient une valeur indiquant si l’objet DataSourceView associé à l’objet DataSourceControl actuel prend en charge la pagination des données récupérées par la méthode ExecuteSelect(DataSourceSelectArguments).

CanRetrieveTotalRowCount

Obtient une valeur indiquant si l’objet DataSourceView qui est associé à l’objet DataSourceControl actuel prend en charge la récupération du nombre total de lignes de données au lieu des données elles-mêmes.

CanSort

Obtient une valeur indiquant si l’objet DataSourceView qui est associé à l’objet DataSourceControl actuel prend en charge un affichage trié sur la source de données sous-jacente.

CanUpdate

Obtient une valeur indiquant si l’objet DataSourceView associé à l’objet DataSourceControl actif prend en charge la méthode ExecuteUpdate(IDictionary, IDictionary, IDictionary).

DataSourceDesigner

Obtient une référence au concepteur qui a créé ce contrôle DesignerDataSourceView.

Name

Obtient le nom de la vue, tel que fourni lorsque cette instance de la classe DesignerDataSourceView a été créée.

Schema

Obtient un schéma qui décrit la vue de source de données représentée par cet objet de vue.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetDesignTimeData(Int32, Boolean)

Génère des données au moment du design qui correspondent au schéma du contrôle de source de données associé à l'aide du nombre de lignes spécifié, en indiquant si les données retournées sont des exemples ou des données réelles.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi