DataColumn Classe

Definição

Representa o esquema de uma coluna em um DataTable.

public ref class DataColumn : System::ComponentModel::MarshalByValueComponent
public class DataColumn : System.ComponentModel.MarshalByValueComponent
type DataColumn = class
    inherit MarshalByValueComponent
Public Class DataColumn
Inherits MarshalByValueComponent
Herança

Exemplos

O exemplo a seguir cria um DataTable com vários DataColumn objetos.

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

Comentários

O DataColumn é o bloco de construção fundamental para criar o esquema de um DataTable. Você cria o esquema adicionando um ou mais DataColumn objetos ao DataColumnCollection. Para obter mais informações, consulte Adicionando colunas a um DataTable.

Cada DataColumn um tem uma DataType propriedade que determina o tipo de dados que o DataColumn contém. Por exemplo, você pode restringir o tipo de dados a inteiros, cadeias de caracteres ou decimais. Como os DataTable dados contidos pelo normalmente são mesclados novamente em sua fonte de dados original, você deve corresponder os tipos de dados aos da fonte de dados. Para obter mais informações, consulte Mapeamentos de tipo de dados no ADO.NET.

Propriedades como AllowDBNull, Uniquee ReadOnly colocam restrições na entrada e atualização de dados, ajudando assim a garantir a integridade dos dados. Você também pode usar as AutoIncrementpropriedades , AutoIncrementSeede AutoIncrementStep para controlar a geração automática de dados. Para obter mais informações sobre AutoIncrement colunas, consulte Criando colunas de autoincremento. Para obter mais informações, consulte Definir chaves primárias.

Você também pode garantir que os valores em um DataColumn sejam exclusivos criando um UniqueConstraint e adicionando-o ConstraintCollection ao do DataTable ao qual o DataColumn pertence. Para obter mais informações, consulte Restrições de DataTable.

Para criar uma relação entre DataColumn objetos, crie um DataRelation objeto e adicione-o ao DataRelationCollection de um DataSet.

Você pode usar a Expression propriedade do DataColumn objeto para calcular os valores em uma coluna ou criar uma coluna de agregação. Para obter mais informações, consulte Criando colunas de expressão.

Construtores

DataColumn()

Inicializa uma nova instância da classe como cadeia DataColumn de caracteres de tipo.

DataColumn(String)

Inicializa uma nova instância da classe DataColumn, como cadeia de caracteres de tipo, usando o nome de coluna especificado.

DataColumn(String, Type)

Inicializa uma nova instância da classe DataColumn usando a o nome da coluna e o tipo de dados especificados.

DataColumn(String, Type, String)

Inicializa uma nova instância da classe DataColumn usando o nome do parâmetro, o tipo de dados e a expressão especificados.

DataColumn(String, Type, String, MappingType)

Inicializa uma nova instância da classe DataColumn usando o nome especificado, o tipo de dados, a expressão e o valor que determina se a coluna é um atributo.

Propriedades

AllowDBNull

Obtém ou define um valor que indica se valores nulos são permitidos nesta coluna para linhas que pertencem à tabela.

AutoIncrement

Obtém ou define um valor que indica se a coluna incrementa automaticamente o valor da coluna para novas linhas adicionadas à tabela.

AutoIncrementSeed

Obtém ou define o valor inicial de uma coluna que tem a propriedade AutoIncrement definida como true. O padrão é 0.

AutoIncrementStep

Obtém ou define o incremento usado por uma coluna com sua propriedade AutoIncrement definida como true.

Caption

Obtém ou define a legenda da coluna.

ColumnMapping

Obtém ou define o MappingType da coluna.

ColumnName

Obtém ou define o nome da coluna no DataColumnCollection.

Container

Obtém o contêiner para o componente.

(Herdado de MarshalByValueComponent)
DataType

Obtém ou define o tipo dos dados armazenados na coluna.

DateTimeMode

Obtém ou define o DateTimeMode da coluna.

DefaultValue

Obtém ou define o valor padrão para a coluna ao criar novas linhas.

DesignMode

Obtém um valor que indica se o componente está atualmente no modo de design.

(Herdado de MarshalByValueComponent)
Events

Obtém a lista de manipuladores de eventos que estão anexados a este componente.

(Herdado de MarshalByValueComponent)
Expression

Obtém ou define a expressão usada para filtrar linhas, calcular os valores em uma coluna ou criar uma coluna de agregação.

ExtendedProperties

Obtém a coleção de informações de usuário personalizadas associadas a um DataColumn.

MaxLength

Obtém ou define o tamanho máximo de uma coluna de texto.

Namespace

Obtém ou define o namespace do DataColumn.

Ordinal

Obtém a posição (de base zero) da coluna na coleção DataColumnCollection.

Prefix

Obtém ou define um prefixo XML que cria o alias do namespace do DataTable.

ReadOnly

Obtém ou define um valor que indica se a coluna permite alterações assim que uma linha tiver sido adicionada à tabela.

Site

Obtém ou define o site do componente.

(Herdado de MarshalByValueComponent)
Table

Obtém o DataTable ao qual a coluna pertence.

Unique

Obtém ou define um valor que indica se os valores em cada linha da coluna devem ser exclusivos.

Métodos

CheckNotAllowNull()

Este membro dá suporte à infraestrutura .NET e não se destina a ser usado diretamente do código.

CheckUnique()

Este membro dá suporte à infraestrutura .NET e não se destina a ser usado diretamente do código.

Dispose()

Libera todos os recursos usados pelo MarshalByValueComponent.

(Herdado de MarshalByValueComponent)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo MarshalByValueComponent e opcionalmente libera os recursos gerenciados.

(Herdado de MarshalByValueComponent)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetService(Type)

Obtém o implementador do IServiceProvider.

(Herdado de MarshalByValueComponent)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnPropertyChanging(PropertyChangedEventArgs)

Este membro dá suporte à infraestrutura .NET e não se destina a ser usado diretamente do código.

RaisePropertyChanging(String)

Este membro dá suporte à infraestrutura .NET e não se destina a ser usado diretamente do código.

SetOrdinal(Int32)

Altera o ordinal ou a posição do DataColumn para o ordinal ou a posição especificada.

ToString()

Obtém o Expression da coluna, se houver.

Eventos

Disposed

Adiciona um manipulador de eventos para escutar o evento Disposed no componente.

(Herdado de MarshalByValueComponent)

Aplica-se a

Acesso thread-safe

Este tipo é seguro para operações de leitura e multithread. Você deve sincronizar todas as operações de gravação.

Confira também