DataTable Classe

Definição

Representa uma tabela de dados em memória.

public ref class DataTable : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitialize, System::ComponentModel::ISupportInitializeNotification, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
public ref class DataTable
public ref class DataTable : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitialize, System::Runtime::Serialization::ISerializable
public ref class DataTable : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitializeNotification, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
public class DataTable : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitialize, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
public class DataTable : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitialize, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
public class DataTable
[System.Serializable]
public class DataTable : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitialize, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class DataTable : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
public class DataTable : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)>]
type DataTable = class
    inherit MarshalByValueComponent
    interface IListSource
    interface ISupportInitialize
    interface ISupportInitializeNotification
    interface ISerializable
    interface IXmlSerializable
type DataTable = class
    inherit MarshalByValueComponent
    interface IListSource
    interface ISupportInitialize
    interface ISupportInitializeNotification
    interface ISerializable
    interface IXmlSerializable
type DataTable = class
[<System.Serializable>]
type DataTable = class
    inherit MarshalByValueComponent
    interface IListSource
    interface ISupportInitialize
    interface ISerializable
[<System.Serializable>]
type DataTable = class
    inherit MarshalByValueComponent
    interface IListSource
    interface ISupportInitializeNotification
    interface ISupportInitialize
    interface ISerializable
    interface IXmlSerializable
Public Class DataTable
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitialize, ISupportInitializeNotification, IXmlSerializable
Public Class DataTable
Public Class DataTable
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitialize
Public Class DataTable
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitializeNotification, IXmlSerializable
Herança
Herança
DataTable
Derivado
Atributos
Implementações

Exemplos

Este exemplo demonstra como criar uma DataTable manualmente com definições de esquema específicas:

  • Crie várias DataTables e defina as colunas iniciais.
  • Crie as restrições de tabela.
  • Insira os valores e exiba as tabelas.
  • Crie as colunas de expressão e exiba as tabelas.
using System;
using System.Data;

class Program
{
    static void Main()
    {
        // Create two tables and add them into the DataSet.
        DataTable orderTable = CreateOrderTable();
        DataTable orderDetailTable = CreateOrderDetailTable();
        DataSet salesSet = new();
        salesSet.Tables.Add(orderTable);
        salesSet.Tables.Add(orderDetailTable);

        // Set the relations between the tables
        // and create the related constraint.
        salesSet.Relations.Add(
            "OrderOrderDetail",
            orderTable.Columns["OrderId"],
            orderDetailTable.Columns["OrderId"],
            true);

        Console.WriteLine("After creating the foreign key constraint, " +
            "you'll see the following error if you insert " +
            "an order detail with the wrong OrderId:\n");
        try
        {
            DataRow errorRow = orderDetailTable.NewRow();
            errorRow[0] = 1;
            errorRow[1] = "O0007";
            orderDetailTable.Rows.Add(errorRow);
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
        Console.WriteLine();

        // Insert the rows into the table.
        InsertOrders(orderTable);
        InsertOrderDetails(orderDetailTable);

        Console.WriteLine("The initial Order table.");
        ShowTable(orderTable);

        Console.WriteLine("The OrderDetail table.");
        ShowTable(orderDetailTable);

        // Use the Aggregate-Sum on the child table column to get the result.
        DataColumn colSub = new("SubTotal", typeof(decimal), "Sum(Child.LineTotal)");
        orderTable.Columns.Add(colSub);

        // Compute the tax by referencing the SubTotal expression column.
        DataColumn colTax = new("Tax", typeof(decimal), "SubTotal*0.1");
        orderTable.Columns.Add(colTax);

        // If the OrderId is 'Total', compute the amount due on all orders; otherwise, compute the amount due on this order.
        DataColumn colTotal = new(
            "TotalDue",
            typeof(decimal),
            "IIF(OrderId='Total',Sum(SubTotal)+Sum(Tax),SubTotal+Tax)");
        orderTable.Columns.Add(colTotal);

        DataRow row = orderTable.NewRow();
        row["OrderId"] = "Total";
        orderTable.Rows.Add(row);

        Console.WriteLine("The Order table with the expression columns.");
        ShowTable(orderTable);

        Console.WriteLine("Press any key to exit.....");
        Console.ReadKey();
    }

    private static DataTable CreateOrderTable()
    {
        DataTable orderTable = new("Order");

        // Define the columns one at a time.
        DataColumn colId = new("OrderId", typeof(string));
        orderTable.Columns.Add(colId);

        DataColumn colDate = new("OrderDate", typeof(DateTime));
        orderTable.Columns.Add(colDate);

        // Set the OrderId column as the primary key.
        orderTable.PrimaryKey = [colId];

        return orderTable;
    }

    private static DataTable CreateOrderDetailTable()
    {
        DataTable orderDetailTable = new("OrderDetail");

        // Define all the columns at once.
        DataColumn[] cols =
        [
            new DataColumn("OrderDetailId", typeof(int)),
            new DataColumn("OrderId", typeof(string)),
            new DataColumn("Product", typeof(string)),
            new DataColumn("UnitPrice", typeof(decimal)),
            new DataColumn("OrderQty", typeof(int)),
            new DataColumn("LineTotal", typeof(decimal), "UnitPrice*OrderQty")
        ];

        orderDetailTable.Columns.AddRange(cols);
        orderDetailTable.PrimaryKey = [orderDetailTable.Columns["OrderDetailId"]];
        return orderDetailTable;
    }

    private static void InsertOrders(DataTable orderTable)
    {
        // Add one row at a time.
        DataRow row1 = orderTable.NewRow();
        row1["OrderId"] = "O0001";
        row1["OrderDate"] = new DateTime(2013, 3, 1);
        orderTable.Rows.Add(row1);

        DataRow row2 = orderTable.NewRow();
        row2["OrderId"] = "O0002";
        row2["OrderDate"] = new DateTime(2013, 3, 12);
        orderTable.Rows.Add(row2);

        DataRow row3 = orderTable.NewRow();
        row3["OrderId"] = "O0003";
        row3["OrderDate"] = new DateTime(2013, 3, 20);
        orderTable.Rows.Add(row3);
    }

    private static void InsertOrderDetails(DataTable orderDetailTable)
    {
        // Use an Object array to insert all the rows.
        // Values in the array are matched sequentially to the columns,
        // based on the order in which they appear in the table.
        object[][] rows =
        [
            [1, "O0001", "Mountain Bike", 1419.5, 36],
            [2, "O0001", "Road Bike", 1233.6, 16],
            [3, "O0001", "Touring Bike", 1653.3, 32],
            [4, "O0002", "Mountain Bike", 1419.5, 24],
            [5, "O0002", "Road Bike", 1233.6, 12],
            [6, "O0003", "Mountain Bike", 1419.5, 48],
            [7, "O0003", "Touring Bike", 1653.3, 8],
        ];

        foreach (object[] row in rows)
        {
            orderDetailTable.Rows.Add(row);
        }
    }

    private static void ShowTable(DataTable table)
    {
        foreach (DataColumn col in table.Columns)
        {
            Console.Write("{0,-14}", col.ColumnName);
        }
        Console.WriteLine();

        foreach (DataRow row in table.Rows)
        {
            foreach (DataColumn col in table.Columns)
            {
                if (col.DataType.Equals(typeof(DateTime)))
                    Console.Write("{0,-14:d}", row[col]);
                else if (col.DataType.Equals(typeof(decimal)))
                    Console.Write("{0,-14:C}", row[col]);
                else
                    Console.Write("{0,-14}", row[col]);
            }
            Console.WriteLine();
        }
        Console.WriteLine();
    }
}
' Put the next line into the Declarations section.
private dataSet As DataSet 
 
Private Sub MakeDataTables()
    ' Run all of the functions. 
    MakeParentTable()
    MakeChildTable()
    MakeDataRelation()
    BindToDataGrid()
End Sub
 
Private Sub MakeParentTable()
    ' Create a new DataTable.
    Dim table As New DataTable("ParentTable")

    ' Declare variables for DataColumn and DataRow objects.
    Dim column As DataColumn 
    Dim row As DataRow 
 
    ' Create new DataColumn, set DataType, ColumnName 
    ' and add to DataTable.    
    column = New DataColumn()
    column.DataType = System.Type.GetType("System.Int32")
    column.ColumnName = "id"
    column.ReadOnly = True
    column.Unique = True

    ' Add the Column to the DataColumnCollection.
    table.Columns.Add(column)
 
    ' Create second column.
    column = New DataColumn()
    column.DataType = System.Type.GetType("System.String")
    column.ColumnName = "ParentItem"
    column.AutoIncrement = False
    column.Caption = "ParentItem"
    column.ReadOnly = False
    column.Unique = False

    ' Add the column to the table.
    table.Columns.Add(column)
 
    ' Make the ID column the primary key column.
    Dim PrimaryKeyColumns(0) As DataColumn
    PrimaryKeyColumns(0)= table.Columns("id")
    table.PrimaryKey = PrimaryKeyColumns
 
    ' Instantiate the DataSet variable.
    dataSet = New DataSet()

    ' Add the new DataTable to the DataSet.
    dataSet.Tables.Add(table)
 
    ' Create three new DataRow objects and add 
    ' them to the DataTable
    Dim i As Integer
    For i = 0 to 2
       row = table.NewRow()
       row("id") = i
       row("ParentItem") = "ParentItem " + i.ToString()
       table.Rows.Add(row)
    Next i
End Sub
 
Private Sub MakeChildTable()
    ' Create a new DataTable.
    Dim table As New DataTable("childTable")
    Dim column As DataColumn 
    Dim row As DataRow 
 
    ' Create first column and add to the DataTable.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.Int32")
    column.ColumnName = "ChildID"
    column.AutoIncrement = True
    column.Caption = "ID"
    column.ReadOnly = True
    column.Unique = True

    ' Add the column to the DataColumnCollection.
    table.Columns.Add(column)
 
    ' Create second column.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.String")
    column.ColumnName = "ChildItem"
    column.AutoIncrement = False
    column.Caption = "ChildItem"
    column.ReadOnly = False
    column.Unique = False
    table.Columns.Add(column)
 
    ' Create third column.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.Int32")
    column.ColumnName = "ParentID"
    column.AutoIncrement = False
    column.Caption = "ParentID"
    column.ReadOnly = False
    column.Unique = False
    table.Columns.Add(column)
 
    dataSet.Tables.Add(table)

    ' Create three sets of DataRow objects, five rows each, 
    ' and add to DataTable.
    Dim i As Integer
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i
       row("ChildItem") = "Item " + i.ToString()
       row("ParentID") = 0 
       table.Rows.Add(row)
    Next i
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i + 5
       row("ChildItem") = "Item " + i.ToString()
       row("ParentID") = 1 
       table.Rows.Add(row)
    Next i
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i + 10
       row("ChildItem") = "Item " + i.ToString()
       row("ParentID") = 2 
       table.Rows.Add(row)
    Next i
End Sub
 
Private Sub MakeDataRelation()
    ' DataRelation requires two DataColumn 
    ' (parent and child) and a name.
    Dim parentColumn As DataColumn = _
        dataSet.Tables("ParentTable").Columns("id")
    Dim childColumn As DataColumn = _
        dataSet.Tables("ChildTable").Columns("ParentID")
    Dim relation As DataRelation = new _
        DataRelation("parent2Child", parentColumn, childColumn)
    dataSet.Tables("ChildTable").ParentRelations.Add(relation)
End Sub
 
Private Sub BindToDataGrid()
    ' Instruct the DataGrid to bind to the DataSet, with the 
    ' ParentTable as the topmost DataTable.
    DataGrid1.SetDataBinding(dataSet,"ParentTable")
End Sub

Observações

A DataTable classe é um objeto central na biblioteca ADO.NET. Outros objetos que usam DataTable incluem o DataSet e o DataView.

DataTable Os nomes dos objetos são sensíveis a maiúsculas e minúsculas condicionalmente. Por exemplo, se uma DataTable é chamada "mydatatable" e outra é chamada "Mydatatable", uma cadeia de caracteres usada para procurar uma das tabelas é considerada sensível a maiúsculas e minúsculas. No entanto, se "mydatatable" existir e "Mydatatable" não, a cadeia de caracteres de pesquisa será considerada insensível a maiúsculas e minúsculas. A DataSet pode conter dois DataTable objetos que têm o mesmo valor de propriedade TableName, mas diferentes valores de propriedade Namespace. Para obter mais informações sobre como trabalhar com DataTable objetos, consulte Criando uma DataTable.

Se estiveres a criar um DataTable programaticamente, deves primeiro definir o seu esquema adicionando objetos DataColumn ao DataColumnCollection através da propriedade Columns. Para obter mais informações sobre como adicionar DataColumn objetos, consulte Adicionando colunas a uma DataTable.

Para adicionar linhas a um DataTable, você deve primeiro usar o NewRow método para retornar um novo DataRow objeto. O método NewRow retorna uma linha com o esquema de DataTable, conforme definido pela tabela de DataColumnCollection. O número máximo de linhas que um DataTable pode armazenar é 16.777.216. Para obter mais informações, consulte Adicionando dados a uma DataTable.

O DataTable também contém uma coleção de Constraint objetos que podem ser usados para garantir a integridade dos dados. Para obter mais informações, consulte DataTable Constraints.

Há muitos DataTable eventos que podem ser usados para determinar quando as alterações são feitas em uma tabela. Estes incluem RowChanged, RowChanging, RowDeleting, e RowDeleted. Para obter mais informações sobre os eventos que podem ser usados com um DataTable, consulte Manipulando eventos DataTable.

Quando uma instância de DataTable é criada, algumas das suas propriedades de leitura/gravação são definidas como valores iniciais. Para obter uma lista desses valores, consulte o DataTable construtor.

Note

Os objetos DataSet e DataTable herdam de MarshalByValueComponent e suportam a interface ISerializable para comunicação remota .NET. Esses são os únicos objetos ADO.NET que você pode usar para comunicação remota do .NET.

Considerações de segurança

Para obter informações sobre a segurança DataSet e DataTable, consulte Diretrizes de segurança.

Construtores

Name Descrição
DataTable()

Inicializa uma nova instância da DataTable classe sem argumentos.

DataTable(SerializationInfo, StreamingContext)
Obsoleto.

Inicializa uma nova instância da DataTable classe com dados serializados.

DataTable(String, String)

Inicializa uma nova instância da DataTable classe usando o nome da tabela e o namespace especificados.

DataTable(String)

Inicializa uma nova instância da DataTable classe com o nome da tabela especificado.

Campos

Name Descrição
fInitInProgress

Verifica se a inicialização está em curso. A inicialização ocorre em tempo de execução.

Propriedades

Name Descrição
CaseSensitive

Indica se as comparações de cadeias dentro da tabela são sensíveis a maiúsculas e maiúsculas.

ChildRelations

Obtém a coleção de relações infantis para isto DataTable.

Columns

Obtém a coleção de colunas que pertencem a esta tabela.

Constraints

Obtém a coleção de restrições mantidas por esta tabela.

Container

Recebe o recipiente do componente.

(Herdado de MarshalByValueComponent)
DataSet

Percebe a DataSet que esta mesa pertence.

DefaultView

Obtém uma vista personalizada da tabela que pode incluir uma vista filtrada ou uma posição do cursor.

DesignMode

Recebe um valor que indica se o componente está atualmente em modo de design.

(Herdado de MarshalByValueComponent)
DisplayExpression

Obtém ou define a expressão que devolve um valor usado para representar esta tabela na interface do utilizador. A DisplayExpression propriedade permite-lhe mostrar o nome desta tabela numa interface de utilizador.

Events

Obtém a lista de gestores de eventos que estão associados a este componente.

(Herdado de MarshalByValueComponent)
ExtendedProperties

Obtém a recolha de informações personalizadas do utilizador.

HasErrors

Obtém um valor que indica se existem erros em alguma das linhas de alguma das tabelas a DataSet que a tabela pertence.

IsInitialized

Obtém um valor que indica se o DataTable está inicializado.

Locale

Obtém ou define a informação local usada para comparar cadeias dentro da tabela.

MinimumCapacity

Obtém ou define o tamanho inicial inicial desta tabela.

Namespace

Obtém ou define o namespace para a representação XML dos dados armazenados no DataTable.

ParentRelations

Obtém a coleção de relações parentais para isto DataTable.

Prefix

Obtém ou define o namespace para a representação XML dos dados armazenados no DataTable.

PrimaryKey

Obtém ou define um array de colunas que funcionam como chaves primárias para a tabela de dados.

RemotingFormat

Obtém ou define o formato de serialização.

Rows

Obtém a coleção de linhas que pertencem a esta tabela.

Site

Obtém ou define um ISite para o DataTable.

TableName

Obtém ou define o nome do DataTable.

Métodos

Name Descrição
AcceptChanges()

Faz commit de todas as alterações feitas a esta tabela desde a última vez AcceptChanges() que foi chamada.

BeginInit()

Inicia-se a inicialização de um DataTable que é usado num formulário ou por outro componente. A inicialização ocorre em tempo de execução.

BeginLoadData()

Desliga notificações, manutenção de índice e restrições ao carregar dados.

Clear()

Elimina DataTable todos os dados.

Clone()

Clona a estrutura do DataTable, incluindo todos DataTable os esquemas e restrições.

Compute(String, String)

Calcula a expressão dada nas linhas atuais que passam os critérios do filtro.

Copy()

Copia tanto a estrutura como os dados para este DataTable.

CreateDataReader()

Devolve a DataTableReader correspondente aos dados dentro deste DataTable.

CreateInstance()

Cria uma nova instância de DataTable.

Dispose()

Liberta todos os recursos utilizados pelo MarshalByValueComponent.

(Herdado de MarshalByValueComponent)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo MarshalByValueComponent e opcionalmente liberta os recursos geridos.

(Herdado de MarshalByValueComponent)
EndInit()

Termina a inicialização de um DataTable que é usado num formulário ou usado por outro componente. A inicialização ocorre em tempo de execução.

EndLoadData()

Ativa notificações, manutenção de índice e restrições após o carregamento dos dados.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetChanges()

Recebe uma cópia do DataTable que contém todas as alterações feitas desde que foi carregado ou AcceptChanges() foi chamado pela última vez.

GetChanges(DataRowState)

Obtém uma cópia do DataTable que contém todas as alterações feitas desde que foi carregado pela última vez, ou desde que AcceptChanges() foi chamado, filtrado por DataRowState.

GetDataTableSchema(XmlSchemaSet)

Este método devolve uma XmlSchemaSet instância contendo a Web Services Description Language (WSDL) que descreve o DataTable para Web Services.

GetErrors()

Recebe um array de DataRow objetos que contêm erros.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleto.

Preenche um objeto de informação de serialização com os dados necessários para serializar o DataTable.

GetRowType()

Fica com o tipo de fila.

GetSchema()

Para uma descrição deste elemento, veja GetSchema().

GetService(Type)

Obtém o implementador do IServiceProvider.

(Herdado de MarshalByValueComponent)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
ImportRow(DataRow)

Copia a DataRow para um DataTable, preservando quaisquer definições de propriedade, bem como valores originais e atuais.

Load(IDataReader, LoadOption, FillErrorEventHandler)

Preenche a DataTable com valores de uma fonte de dados usando o fornecido IDataReader usando um delegado de gestão de erros.

Load(IDataReader, LoadOption)

Preenche a DataTable com valores de uma fonte de dados usando o .IDataReader Se já DataTable contiver linhas, os dados recebidos da fonte de dados são fundidos com as linhas existentes de acordo com o valor do loadOption parâmetro.

Load(IDataReader)

Preenche a DataTable com valores de uma fonte de dados usando o .IDataReader Se já DataTable contiver linhas, os dados recebidos da fonte de dados são fundidos com as linhas existentes.

LoadDataRow(Object[], Boolean)

Encontra e atualiza uma linha específica. Se não for encontrada nenhuma linha correspondente, uma nova linha é criada usando os valores indicados.

LoadDataRow(Object[], LoadOption)

Encontra e atualiza uma linha específica. Se não for encontrada nenhuma linha correspondente, uma nova linha é criada usando os valores indicados.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
Merge(DataTable, Boolean, MissingSchemaAction)

Juntar o especificado DataTable com o atual DataTable, indicando se deve preservar as alterações e como lidar com o esquema em falta no atual DataTable.

Merge(DataTable, Boolean)

Fuja o especificado DataTable com a corrente DataTable, indicando se deve preservar as alterações na corrente DataTable.

Merge(DataTable)

Funde o especificado DataTable com a corrente DataTable.

NewRow()

Cria um novo DataRow com o mesmo esquema da tabela.

NewRowArray(Int32)

Devolve um array de DataRow.

NewRowFromBuilder(DataRowBuilder)

Cria uma nova linha a partir de uma linha existente.

OnColumnChanged(DataColumnChangeEventArgs)

Eleva o ColumnChanged evento.

OnColumnChanging(DataColumnChangeEventArgs)

Eleva o ColumnChanging evento.

OnPropertyChanging(PropertyChangedEventArgs)

Eleva o PropertyChanged evento.

OnRemoveColumn(DataColumn)

Notifica que DataTable a DataColumn está a ser removido.

OnRowChanged(DataRowChangeEventArgs)

Eleva o RowChanged evento.

OnRowChanging(DataRowChangeEventArgs)

Eleva o RowChanging evento.

OnRowDeleted(DataRowChangeEventArgs)

Eleva o RowDeleted evento.

OnRowDeleting(DataRowChangeEventArgs)

Eleva o RowDeleting evento.

OnTableCleared(DataTableClearEventArgs)

Eleva o TableCleared evento.

OnTableClearing(DataTableClearEventArgs)

Eleva o TableClearing evento.

OnTableNewRow(DataTableNewRowEventArgs)

Eleva o TableNewRow evento.

ReadXml(Stream)

Lê o esquema XML e os dados no DataTable usando o especificado Stream.

ReadXml(String)

Lê o esquema XML e os dados do DataTable ficheiro especificado.

ReadXml(TextReader)

Lê o esquema XML e os dados no DataTable usando o especificado TextReader.

ReadXml(XmlReader)

Lê o Esquema XML e os Dados no DataTable usando o especificado XmlReader.

ReadXmlSchema(Stream)

Lê um esquema XML no DataTable usando o fluxo especificado.

ReadXmlSchema(String)

Lê um esquema XML a DataTable partir do ficheiro especificado.

ReadXmlSchema(TextReader)

Lê um esquema XML no DataTable usando o especificado TextReader.

ReadXmlSchema(XmlReader)

Lê um esquema XML no DataTable usando o especificado XmlReader.

ReadXmlSerializable(XmlReader)

Lê a partir de um fluxo XML.

RejectChanges()

Reverte todas as alterações feitas à tabela desde que foi carregada, ou desde a última vez AcceptChanges() que foi chamada.

Reset()

Reinicia o DataTable estado original. O reset remove todos os dados, índices, relações e colunas da tabela. Se um DataSet incluir uma DataTable, a tabela continuará a fazer parte do DataSet depois de a tabela ser reiniciada.

Select()

Obtém um array de todos os DataRow objetos.

Select(String, String, DataViewRowState)

Obtém um array de todos os DataRow objetos que correspondem ao filtro na ordem do ordenamento que corresponde ao estado especificado.

Select(String, String)

Obtém um array de todos os DataRow objetos que correspondem aos critérios do filtro, na ordem de ordenação especificada.

Select(String)

Obtém um array de todos os DataRow objetos que correspondem aos critérios do filtro.

ToString()

Obtém-se o TableName e DisplayExpression, se existir um como uma cadeia concatenada.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
WriteXml(Stream, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o especificado Stream. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(Stream, XmlWriteMode, Boolean)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable ficheiro especificado usando o ficheiro especificado XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(Stream, XmlWriteMode)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable ficheiro especificado usando o ficheiro especificado XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(Stream)

Escreve o conteúdo atual do DataTable como XML usando o especificado Stream.

WriteXml(String, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o ficheiro especificado. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(String, XmlWriteMode, Boolean)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable usando o ficheiro especificado e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(String, XmlWriteMode)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable usando o ficheiro especificado e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(String)

Escreve o conteúdo atual do DataTable como XML usando o ficheiro especificado.

WriteXml(TextWriter, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o especificado TextWriter. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(TextWriter, XmlWriteMode, Boolean)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados TextWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(TextWriter, XmlWriteMode)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados TextWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(TextWriter)

Escreve o conteúdo atual do DataTable como XML usando o especificado TextWriter.

WriteXml(XmlWriter, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o especificado XmlWriter.

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados XmlWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(XmlWriter, XmlWriteMode)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados XmlWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(XmlWriter)

Escreve o conteúdo atual do DataTable como XML usando o especificado XmlWriter.

WriteXmlSchema(Stream, Boolean)

Escreve a estrutura de dados atual do DataTable como um esquema XML no fluxo especificado. Para guardar o esquema da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXmlSchema(Stream)

Escreve a estrutura de dados atual do DataTable como um esquema XML no fluxo especificado.

WriteXmlSchema(String, Boolean)

Escreve a estrutura de dados atual do DataTable como um esquema XML no ficheiro especificado. Para guardar o esquema da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXmlSchema(String)

Escreve a estrutura de dados atual do DataTable como um esquema XML no ficheiro especificado.

WriteXmlSchema(TextWriter, Boolean)

Escreve a estrutura de dados atual do DataTable como um esquema XML usando o especificado TextWriter. Para guardar o esquema da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXmlSchema(TextWriter)

Escreve a estrutura de dados atual do DataTable como um esquema XML usando o especificado TextWriter.

WriteXmlSchema(XmlWriter, Boolean)

Escreve a estrutura de dados atual do DataTable como um esquema XML usando o especificado XmlWriter. Para guardar o esquema da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXmlSchema(XmlWriter)

Escreve a estrutura de dados atual do DataTable como um esquema XML usando o especificado XmlWriter.

Eventos

Name Descrição
ColumnChanged

Ocorre depois de um valor ter sido alterado para o especificado DataColumn num DataRow.

ColumnChanging

Ocorre quando um valor está a ser alterado para o especificado DataColumn num DataRow.

Disposed

Adiciona um gestor de eventos para ouvir o Disposed evento no componente.

(Herdado de MarshalByValueComponent)
Initialized

Ocorre após a inicialização.DataTable

RowChanged

Ocorre depois de um DataRow ter sido alterado com sucesso.

RowChanging

Ocorre quando a DataRow está a mudar.

RowDeleted

Ocorre depois de uma linha na tabela ter sido eliminada.

RowDeleting

Ocorre antes de uma linha na tabela estar prestes a ser eliminada.

TableCleared

Ocorre depois de um DataTable ser eliminado.

TableClearing

Ocorre quando um DataTable é limpo.

TableNewRow

Ocorre quando um novo DataRow é inserido.

Implementações de Interface Explícita

Name Descrição
IListSource.ContainsListCollection

Para uma descrição deste elemento, veja ContainsListCollection.

IListSource.GetList()

Para uma descrição deste elemento, veja GetList().

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Preenche um objeto de informação de serialização com os dados necessários para serializar o DataTable.

IXmlSerializable.GetSchema()

Para uma descrição deste elemento, veja GetSchema().

IXmlSerializable.ReadXml(XmlReader)

Para uma descrição deste elemento, veja ReadXml(XmlReader).

IXmlSerializable.WriteXml(XmlWriter)

Para uma descrição deste elemento, veja WriteXml(XmlWriter).

Métodos da Extensão

Name Descrição
AsDataView(DataTable)

Cria e devolve um objeto ativado DataView para LINQ.

AsEnumerable(DataTable)

Devolve um IEnumerable<T> objeto, onde o parâmetro T genérico é DataRow. Este objeto pode ser usado numa consulta de expressão ou método LINQ.

CreateAsyncScope(IServiceProvider)

Cria um novo AsyncServiceScope que pode ser usado para resolver serviços com âmbito definido.

CreateScope(IServiceProvider)

Cria um novo IServiceScope que pode ser usado para resolver serviços com âmbito definido.

GetKeyedService(IServiceProvider, Type, Object)

Obtenha o serviço do tipo serviceType .IServiceProvider

GetKeyedService<T>(IServiceProvider, Object)

Obtenha o serviço do tipo T .IServiceProvider

GetKeyedServices(IServiceProvider, Type, Object)

Obtenha uma enumeração de serviços do tipo serviceType a partir do IServiceProvider.

GetKeyedServices<T>(IServiceProvider, Object)

Obtenha uma enumeração de serviços do tipo T a partir do IServiceProvider.

GetRequiredKeyedService(IServiceProvider, Type, Object)

Obtenha o serviço do tipo serviceType .IServiceProvider

GetRequiredKeyedService<T>(IServiceProvider, Object)

Obtenha o serviço do tipo T .IServiceProvider

GetRequiredService(IServiceProvider, Type)

Obtenha o serviço do tipo serviceType .IServiceProvider

GetRequiredService<T>(IServiceProvider)

Obtenha o serviço do tipo T .IServiceProvider

GetService<T>(IServiceProvider)

Obtenha o serviço do tipo T .IServiceProvider

GetServices(IServiceProvider, Type)

Obtenha uma enumeração de serviços do tipo serviceType a partir do IServiceProvider.

GetServices<T>(IServiceProvider)

Obtenha uma enumeração de serviços do tipo T a partir do IServiceProvider.

Aplica-se a

Segurança de Thread

Este tipo é seguro para operações de leitura multithread. Tem de sincronizar quaisquer operações de escrita.

Ver também