DesignerDataSourceView 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
디자인 타임 데이터 소스 뷰 클래스의 기본 클래스로 사용됩니다.
public ref class DesignerDataSourceView abstract
public abstract class DesignerDataSourceView
type DesignerDataSourceView = class
Public MustInherit Class DesignerDataSourceView
- 상속
-
DesignerDataSourceView
- 파생
예제
다음 코드 예제에서는 사용자 지정 클래스 및 두 개의 IDataSourceFieldSchema 사용자 지정 DesignerDataSourceView 클래스와 함께 사용자 지정 IDataSourceViewSchema 개체를 만드는 방법을 보여 줍니다.
이 예제는 클래스에 대한 더 큰 샘플의 DataSourceDesigner 일부입니다.
// 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
구현자 참고
클래스에서 상속 하는 경우 재정의 DesignerDataSourceView 해야 합니다 메서드를 재정의 GetDesignTimeData(Int32, Boolean) 해야 합니다를 준수 Schema 하는 샘플 데이터를 만들거나 데이터 원본에서 실제 데이터를 반환 합니다.
생성자
DesignerDataSourceView(IDataSourceDesigner, String) |
지정된 데이터 소스 디자이너와 뷰 이름을 사용하여 DesignerDataSourceView 클래스의 새 인스턴스를 초기화합니다. |
속성
CanDelete |
현재 DataSourceControl 개체와 연결된 DataSourceView 개체가 ExecuteDelete(IDictionary, IDictionary) 메서드를 지원하는지 여부를 나타내는 값을 가져옵니다. |
CanInsert |
현재 DataSourceControl 개체와 연결된 DataSourceView 개체가 ExecuteInsert(IDictionary) 메서드를 지원하는지 여부를 나타내는 값을 가져옵니다. |
CanPage |
현재 DataSourceControl 개체와 연결된 DataSourceView 개체가 ExecuteSelect(DataSourceSelectArguments) 메서드에서 검색된 데이터를 통한 페이징을 지원하는지 여부를 나타내는 값을 가져옵니다. |
CanRetrieveTotalRowCount |
현재 DataSourceControl 개체와 연결된 DataSourceView 개체가 데이터 자체가 아닌 총 데이터 행 수에 대한 검색을 지원하는지 여부를 나타내는 값을 가져옵니다. |
CanSort |
현재 DataSourceControl 개체와 연결된 DataSourceView 개체가 기본 데이터 원본에 대한 정렬된 뷰를 지원하는지 여부를 나타내는 값을 가져옵니다. |
CanUpdate |
현재 DataSourceControl 개체와 연결된 DataSourceView 개체가 ExecuteUpdate(IDictionary, IDictionary, IDictionary) 메서드를 지원하는지 여부를 나타내는 값을 가져옵니다. |
DataSourceDesigner |
이 DesignerDataSourceView 컨트롤을 만든 디자이너에 대한 참조를 가져옵니다. |
Name |
DesignerDataSourceView 클래스의 이 인스턴스가 만들어질 때 제공된 뷰 이름을 가져옵니다. |
Schema |
이 뷰 개체로 표현된 데이터 원본 뷰를 설명하는 스키마를 가져옵니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetDesignTimeData(Int32, Boolean) |
지정된 행 수를 사용하여 관련된 데이터 소스 컨트롤의 스키마와 일치하는 디자인 타임 데이터를 생성하고, 데이터가 샘플 데이터인지 실제 데이터인지를 나타냅니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
추가 정보
.NET