DesignerDataSourceView Klasa

Definicja

Służy jako klasa bazowa dla klas widoku źródła danych w czasie projektowania.

C#
public abstract class DesignerDataSourceView
Dziedziczenie
DesignerDataSourceView
Pochodne

Przykłady

W poniższym przykładzie kodu pokazano, jak utworzyć obiekt niestandardowy wraz z klasą niestandardową DesignerDataSourceViewIDataSourceViewSchema i dwiema klasami niestandardowymi IDataSourceFieldSchema .

Ten przykład jest częścią większej próbki DataSourceDesigner dla klasy .

C#
// 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; }
    }
}
C#
// 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; }
    }
}

Uwagi dotyczące implementowania

Podczas dziedziczenia DesignerDataSourceView z klasy należy zastąpić metodę GetDesignTimeData(Int32, Boolean) , aby utworzyć przykładowe dane zgodne Schema z właściwością lub zwrócić rzeczywiste dane ze źródła danych.

Konstruktory

DesignerDataSourceView(IDataSourceDesigner, String)

Inicjuje DesignerDataSourceView nowe wystąpienie klasy przy użyciu określonego projektanta źródła danych i nazwy widoku.

Właściwości

CanDelete

Pobiera wartość wskazującą, czy DataSourceView obiekt skojarzony z bieżącym DataSourceControl obiektem obsługuje metodę ExecuteDelete(IDictionary, IDictionary) .

CanInsert

Pobiera wartość wskazującą, czy DataSourceView obiekt skojarzony z bieżącym DataSourceControl obiektem obsługuje metodę ExecuteInsert(IDictionary) .

CanPage

Pobiera wartość wskazującą, czy DataSourceView obiekt skojarzony z bieżącym DataSourceControl obiektem obsługuje stronicowanie danych pobieranych przez metodę ExecuteSelect(DataSourceSelectArguments) .

CanRetrieveTotalRowCount

Pobiera wartość wskazującą, czy DataSourceView obiekt skojarzony z bieżącym DataSourceControl obiektem obsługuje pobieranie całkowitej liczby wierszy danych zamiast samych danych.

CanSort

Pobiera wartość wskazującą, czy DataSourceView obiekt skojarzony z bieżącym DataSourceControl obiektem obsługuje posortowany widok w bazowym źródle danych.

CanUpdate

Pobiera wartość wskazującą, czy DataSourceView obiekt skojarzony z bieżącym DataSourceControl obiektem obsługuje metodę ExecuteUpdate(IDictionary, IDictionary, IDictionary) .

DataSourceDesigner

Pobiera odwołanie do projektanta, który utworzył tę DesignerDataSourceView kontrolkę.

Name

Pobiera nazwę widoku podaną podczas tworzenia tego wystąpienia DesignerDataSourceView klasy.

Schema

Pobiera schemat opisujący widok źródła danych reprezentowany przez ten obiekt widoku.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetDesignTimeData(Int32, Boolean)

Generuje dane czasu projektowania zgodne ze schematem skojarzonej kontrolki źródła danych przy użyciu określonej liczby wierszy wskazujących, czy zwraca przykładowe dane, czy rzeczywiste dane.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Produkt Wersje
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Zobacz też