DesignerDataSourceView Class
.NET Framework 2.0
Note: This class is new in the .NET Framework version 2.0.
Serves as the base class for design-time data source view classes.
Namespace: System.Web.UI.Design
Assembly: System.Design (in system.design.dll)
Assembly: System.Design (in system.design.dll)
Notes to Inheritors
When you inherit from the DesignerDataSourceView class, you must override the following member: the GetDesignTimeData method either to create sample data that conforms to the Schema property or to return real data from the data source.
The following code example shows how to create a custom DesignerDataSourceView object along with a custom IDataSourceViewSchema class and two custom IDataSourceFieldSchema classes.
This example is part of a larger sample for the DataSourceDesigner class.
' 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
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
System.Object
System.Web.UI.Design.DesignerDataSourceView
System.Web.UI.Design.WebControls.ObjectDesignerDataSourceView
System.Web.UI.Design.WebControls.SiteMapDesignerDataSourceView
System.Web.UI.Design.WebControls.SqlDesignerDataSourceView
System.Web.UI.Design.WebControls.XmlDesignerDataSourceView
System.Web.UI.Design.DesignerDataSourceView
System.Web.UI.Design.WebControls.ObjectDesignerDataSourceView
System.Web.UI.Design.WebControls.SiteMapDesignerDataSourceView
System.Web.UI.Design.WebControls.SqlDesignerDataSourceView
System.Web.UI.Design.WebControls.XmlDesignerDataSourceView
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Show: