Поделиться через


DataColumn Класс

Определение

Представляет схему столбца в DataTable.

public ref class DataColumn : System::ComponentModel::MarshalByValueComponent
public class DataColumn : System.ComponentModel.MarshalByValueComponent
type DataColumn = class
    inherit MarshalByValueComponent
Public Class DataColumn
Inherits MarshalByValueComponent
Наследование

Примеры

В следующем примере создается DataTable с несколькими DataColumn объектами .

private void MakeTable()
{
    // Create a DataTable.
    DataTable table = new DataTable("Product");

    // Create a DataColumn and set various properties.
    DataColumn column = new DataColumn();
    column.DataType = System.Type.GetType("System.Decimal");
    column.AllowDBNull = false;
    column.Caption = "Price";
    column.ColumnName = "Price";
    column.DefaultValue = 25;

    // Add the column to the table.
    table.Columns.Add(column);

    // Add 10 rows and set values.
    DataRow row;
    for(int i = 0; i < 10; i++)
    {
        row = table.NewRow();
        row["Price"] = i + 1;

        // Be sure to add the new row to the
        // DataRowCollection.
        table.Rows.Add(row);
    }
}
Private Sub MakeTable()
    ' Create a DataTable. 
    Dim table As New DataTable("Product")

    ' Create a DataColumn and set various properties. 
    Dim column As New DataColumn()
    column.DataType = System.Type.GetType("System.Decimal") 
    column.AllowDBNull = False 
    column.Caption = "Price"  
    column.ColumnName = "Price" 
    column.DefaultValue = 25 

    ' Add the column to the table. 
    table.Columns.Add(column) 

    ' Add 10 rows and set values. 
    Dim row As DataRow 
    Dim i As Integer  
    For i = 0 to 9 
        row = table.NewRow() 
        row("Price") = i + 1 

        ' Be sure to add the new row to 
        ' the DataRowCollection. 
        table.Rows.Add(row) 
    Next i 
End Sub

Комментарии

является DataColumn основным стандартным блоком для создания схемы DataTable. Схема создается путем добавления одного или нескольких DataColumn объектов в DataColumnCollection. Дополнительные сведения см. в разделе Добавление столбцов в таблицу Данных.

Каждый из них DataColumn имеет DataType свойство, определяющее тип данных, содержащихся в DataColumn нем. Например, можно ограничить тип данных целыми числами, строками или десятичными числами. Поскольку данные, содержащиеся в DataTable , обычно объединяются обратно в исходный источник данных, необходимо сопоставить типы данных с типами данных в источнике данных. Дополнительные сведения см. в разделе Сопоставления типов данных в ADO.NET.

Такие свойства, как AllowDBNull, Uniqueи ReadOnly накладывают ограничения на ввод и обновление данных, тем самым помогая гарантировать целостность данных. Вы также можете использовать AutoIncrementсвойства , AutoIncrementSeedи AutoIncrementStep для управления автоматическим созданием данных. Дополнительные сведения о AutoIncrement столбцах см. в разделе Создание столбцов автоинкремента. Дополнительные сведения см. в разделе Определение первичных ключей.

Вы также можете убедиться, что значения в DataColumn являются уникальными, создав UniqueConstraint и добавив его в ConstraintCollection объект объекта DataTable , DataColumn которому принадлежит . Дополнительные сведения см. в разделе Ограничения DataTable.

Чтобы создать связь между DataColumn объектами, создайте DataRelation объект и добавьте его в DataRelationCollection объект DataSetобъекта .

Свойство объекта можно использовать ExpressionDataColumn для вычисления значений в столбце или создания агрегатного столбца. Дополнительные сведения см. в разделе Создание столбцов выражений.

Конструкторы

DataColumn()

Инициализирует новый экземпляр класса в DataColumn виде строки типа.

DataColumn(String)

Инициализирует новый экземпляр класса DataColumn как строку типа с использованием указанного имени столбца.

DataColumn(String, Type)

Инициализирует новый экземпляр класса DataColumn с использованием указанного имени столбца и типа данных.

DataColumn(String, Type, String)

Инициализирует новый экземпляр класса DataColumn с использованием указанного имени, типа данных и выражения.

DataColumn(String, Type, String, MappingType)

Инициализирует новый экземпляр класса DataColumn с использованием указанного имени, типа данных, выражения и значения, определяющего, является ли столбец атрибутом.

Свойства

AllowDBNull

Возвращает или задает значение, указывающее на допустимость нулевых значений в этом столбце для строк, принадлежащих таблице.

AutoIncrement

Возвращает или задает значение, показывающее, увеличивать ли автоматически значение столбца для новых строк, добавляемых в таблицу.

AutoIncrementSeed

Возвращает или задает начальное значение для столбца, свойству которого AutoIncrement задано значение true. Значение по умолчанию — 0.

AutoIncrementStep

Возвращает или задает шаг приращения для столбца, свойству AutoIncrement которого задано значение true.

Caption

Возвращает или задает заголовок для столбца.

ColumnMapping

Возвращает или задает тип MappingType столбца.

ColumnName

Возвращает или задает имя столбца в DataColumnCollection.

Container

Возвращает контейнер для компонента.

(Унаследовано от MarshalByValueComponent)
DataType

Возвращает или задает тип данных, хранимых в столбце.

DateTimeMode

Возвращает или задает DateTimeMode для столбца.

DefaultValue

Возвращает или задает значение по умолчанию для столбца при создании новых строк.

DesignMode

Возвращает значение, показывающее, находится ли компонент в настоящий момент в режиме разработки.

(Унаследовано от MarshalByValueComponent)
Events

Возвращает список обработчиков событий, которые прикреплены к этому компоненту.

(Унаследовано от MarshalByValueComponent)
Expression

Возвращает или задает выражение, используемое для фильтрации строк, расчета значений в столбце либо для создания составного столбца.

ExtendedProperties

Возвращает коллекцию пользовательских сведений, связанных с DataColumn.

MaxLength

Возвращает или задает максимальную длину текстового столбца.

Namespace

Возвращает или задает пространство имен DataColumn.

Ordinal

Возвращает отсчитываемую от нуля позицию столбца в коллекции DataColumnCollection.

Prefix

Возвращает или задает префикс XML, который является псевдонимом пространства имен класса DataTable.

ReadOnly

Возвращает или задает значение, указывающее на допустимость изменения столбца после добавления строки в таблицу.

Site

Возвращает или задает сайт компонента.

(Унаследовано от MarshalByValueComponent)
Table

Возвращает DataTable, которому принадлежит столбец.

Unique

Возвращает или задает значение, указывающее, должны ли значения в каждой строке столбца быть уникальными.

Методы

CheckNotAllowNull()

Этот член поддерживает инфраструктуру .NET и не предназначен для непосредственного использования из кода.

CheckUnique()

Этот член поддерживает инфраструктуру .NET и не предназначен для непосредственного использования из кода.

Dispose()

Освобождает все ресурсы, занятые модулем MarshalByValueComponent.

(Унаследовано от MarshalByValueComponent)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом MarshalByValueComponent, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от MarshalByValueComponent)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetService(Type)

Возвращает средство реализации объекта IServiceProvider.

(Унаследовано от MarshalByValueComponent)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnPropertyChanging(PropertyChangedEventArgs)

Этот член поддерживает инфраструктуру .NET и не предназначен для непосредственного использования из кода.

RaisePropertyChanging(String)

Этот член поддерживает инфраструктуру .NET и не предназначен для непосредственного использования из кода.

SetOrdinal(Int32)

Изменяет порядковый номер или положение DataColumn на указанный порядковый номер или положение.

ToString()

Возвращает свойство Expression столбца, если оно существует.

События

Disposed

Добавляет обработчик события для ожидания события Disposed в компоненте.

(Унаследовано от MarshalByValueComponent)

Методы расширения

GetKeyedService<T>(IServiceProvider, Object)

Возвращает службу типа T из IServiceProvider.

GetKeyedServices(IServiceProvider, Type, Object)

Возвращает перечисление служб типа serviceType из IServiceProvider.

GetKeyedServices<T>(IServiceProvider, Object)

Возвращает перечисление служб типа T из IServiceProvider.

GetRequiredKeyedService(IServiceProvider, Type, Object)

Возвращает службу типа serviceType из IServiceProvider.

GetRequiredKeyedService<T>(IServiceProvider, Object)

Возвращает службу типа T из IServiceProvider.

CreateAsyncScope(IServiceProvider)

Создает интерфейс AsyncServiceScope, который может использоваться для разрешения служб с ограниченной областью.

CreateScope(IServiceProvider)

Создает интерфейс IServiceScope, который может использоваться для разрешения служб с ограниченной областью.

GetRequiredService(IServiceProvider, Type)

Возвращает службу типа serviceType из IServiceProvider.

GetRequiredService<T>(IServiceProvider)

Возвращает службу типа T из IServiceProvider.

GetService<T>(IServiceProvider)

Возвращает службу типа T из IServiceProvider.

GetServices(IServiceProvider, Type)

Возвращает перечисление служб типа serviceType из IServiceProvider.

GetServices<T>(IServiceProvider)

Возвращает перечисление служб типа T из IServiceProvider.

GetFakeLogCollector(IServiceProvider)

Возвращает объект , который собирает записи журнала, отправляемые в поддельные средства ведения журнала.

GetFakeRedactionCollector(IServiceProvider)

Возвращает поддельный экземпляр сборщика редактора из контейнера внедрения зависимостей.

Применяется к

Потокобезопасность

Этот тип безопасен для многопоточных операций чтения. Необходимо синхронизировать все операции записи.

См. также раздел