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 クラスのページへのリンク