DesignerDataSourceView Class
.NET Framework 3.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 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
Community Additions
ADD
Show: