DesignerDataSourceView クラス
アセンブリ: System.Design (system.design.dll 内)



1 つのカスタム DesignerDataSourceView オブジェクトと 1 つのカスタム IDataSourceViewSchema クラス、および 2 つのカスタム IDataSourceFieldSchema クラスを作成する方法を次のコード例に示します。
このコード例は、DataSourceDesigner クラスのトピックで取り上げているコード例の一部です。
' 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 <br /><span space="preserve">...</span><br /> ' 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
// 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; } } } <br /><span space="preserve">...</span><br /> // 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; } } }

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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- DesignerDataSourceView クラスのページへのリンク