DataTable Classe

Definizione

Rappresenta una tabella di dati in memoria.

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
Ereditarietà
Ereditarietà
DataTable
Derivato
Attributi
Implementazioni

Esempio

Questo esempio illustra come creare manualmente un oggetto DataTable con definizioni di schema specifiche:

  • Creare più tabelle DataTable e definire le colonne iniziali.
  • Creare i vincoli di tabella.
  • Inserire i valori e visualizzare le tabelle.
  • Creare le colonne dell'espressione e visualizzare le tabelle.
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

Commenti

La DataTable classe è un oggetto centrale nella libreria ADO.NET. Altri oggetti che usano DataTable includono DataSet e DataView.

DataTable i nomi degli oggetti sono sensibili alla distinzione tra maiuscole e minuscole in modo condizionale. Ad esempio, se uno DataTable è denominato "mydatatable" e un altro "Mydatatable", una stringa usata per cercare una delle tabelle viene considerata sensibile alla distinzione tra maiuscole e minuscole. Tuttavia, se "mydatatable" esiste e "Mydatatable" non lo è, la stringa di ricerca viene considerata senza distinzione tra maiuscole e minuscole. Un DataSet può contenere due oggetti DataTable con lo stesso valore della proprietà TableName, ma con valori della proprietà Namespace diversi. Per altre informazioni sull'utilizzo di DataTable oggetti, vedere Creazione di una tabella Dati.

Se si crea un oggetto DataTable a livello di codice, è prima necessario definirne lo schema aggiungendo DataColumn oggetti a DataColumnCollection (a cui si accede tramite la Columns proprietà ). Per altre informazioni sull'aggiunta di oggetti DataColumn, vedere Aggiunta di colonne a una DataTable.

Per aggiungere righe a un DataTableoggetto , è prima necessario utilizzare il NewRow metodo per restituire un nuovo DataRow oggetto . Il NewRow metodo restituisce una riga con lo schema del DataTable, come definito dalla DataColumnCollection della tabella. Il numero massimo di righe che un DataTable può archiviare è 16.777.216. Per altre informazioni, vedere Aggiunta di dati a un oggetto DataTable.

DataTable Contiene inoltre una raccolta di Constraint oggetti che possono essere utilizzati per garantire l'integrità dei dati. Per ulteriori informazioni, consultare Vincoli della tabella dati.

Esistono molti DataTable eventi che possono essere usati per determinare quando vengono apportate modifiche a una tabella. Questi includono RowChanged, RowChanging, RowDeletinge RowDeleted. Per altre informazioni sugli eventi che possono essere usati con un DataTable, vedere Gestione di eventi DataTable.

Quando viene creata un'istanza di DataTable , alcune delle proprietà di lettura/scrittura vengono impostate sui valori iniziali. Per un elenco di questi valori, vedere il DataTable costruttore.

Note

Gli oggetti DataSet e DataTable ereditano da MarshalByValueComponent e supportano l'interfaccia per la comunicazione remota .NET. Si tratta degli unici oggetti ADO.NET che è possibile usare per la comunicazione remota .NET.

Considerazioni relative alla sicurezza

Per informazioni sulla sicurezza di DataSet e DataTable, vedere Indicazioni sulla sicurezza.

Costruttori

Nome Descrizione
DataTable()

Inizializza una nuova istanza della DataTable classe senza argomenti.

DataTable(SerializationInfo, StreamingContext)
Obsoleti.

Inizializza una nuova istanza della DataTable classe con dati serializzati.

DataTable(String, String)

Inizializza una nuova istanza della DataTable classe utilizzando il nome della tabella e lo spazio dei nomi specificati.

DataTable(String)

Inizializza una nuova istanza della DataTable classe con il nome della tabella specificato.

Campi

Nome Descrizione
fInitInProgress

Controlla se l'inizializzazione è in corso. L'inizializzazione viene eseguita in fase di esecuzione.

Proprietà

Nome Descrizione
CaseSensitive

Indica se i confronti tra stringhe all'interno della tabella fanno distinzione tra maiuscole e minuscole.

ChildRelations

Ottiene la raccolta di relazioni figlio per l'oggetto DataTable.

Columns

Ottiene l'insieme di colonne che appartengono a questa tabella.

Constraints

Ottiene la raccolta di vincoli gestiti da questa tabella.

Container

Ottiene il contenitore per il componente.

(Ereditato da MarshalByValueComponent)
DataSet

Ottiene l'oggetto DataSet a cui appartiene la tabella.

DefaultView

Ottiene una vista personalizzata della tabella che può includere una visualizzazione filtrata o una posizione del cursore.

DesignMode

Ottiene un valore che indica se il componente è attualmente in modalità progettazione.

(Ereditato da MarshalByValueComponent)
DisplayExpression

Ottiene o imposta l'espressione che restituisce un valore utilizzato per rappresentare questa tabella nell'interfaccia utente. La DisplayExpression proprietà consente di visualizzare il nome di questa tabella in un'interfaccia utente.

Events

Ottiene l'elenco dei gestori eventi associati a questo componente.

(Ereditato da MarshalByValueComponent)
ExtendedProperties

Ottiene la raccolta di informazioni utente personalizzate.

HasErrors

Ottiene un valore che indica se sono presenti errori in una qualsiasi delle righe di una delle tabelle dell'oggetto DataSet a cui appartiene la tabella.

IsInitialized

Ottiene un valore che indica se l'oggetto DataTable è inizializzato.

Locale

Ottiene o imposta le informazioni sulle impostazioni locali utilizzate per confrontare le stringhe all'interno della tabella.

MinimumCapacity

Ottiene o imposta le dimensioni iniziali iniziali per questa tabella.

Namespace

Ottiene o imposta lo spazio dei nomi per la rappresentazione XML dei dati archiviati in DataTable.

ParentRelations

Ottiene la raccolta di relazioni padre per l'oggetto DataTable.

Prefix

Ottiene o imposta lo spazio dei nomi per la rappresentazione XML dei dati archiviati in DataTable.

PrimaryKey

Ottiene o imposta una matrice di colonne che funzionano come chiavi primarie per la tabella dati.

RemotingFormat

Ottiene o imposta il formato di serializzazione.

Rows

Ottiene l'insieme di righe che appartengono a questa tabella.

Site

Ottiene o imposta un oggetto ISite per l'oggetto DataTable.

TableName

Ottiene o imposta il nome dell'oggetto DataTable.

Metodi

Nome Descrizione
AcceptChanges()

Esegue il commit di tutte le modifiche apportate a questa tabella dall'ultima chiamata AcceptChanges() .

BeginInit()

Avvia l'inizializzazione di un DataTable oggetto utilizzato in una maschera o utilizzato da un altro componente. L'inizializzazione viene eseguita in fase di esecuzione.

BeginLoadData()

Disattiva le notifiche, la manutenzione degli indici e i vincoli durante il caricamento dei dati.

Clear()

Cancella l'oggetto DataTable di tutti i dati.

Clone()

Clona la struttura di DataTable, inclusi tutti gli DataTable schemi e i vincoli.

Compute(String, String)

Calcola l'espressione specificata nelle righe correnti che superano i criteri di filtro.

Copy()

Copia sia la struttura che i dati per questo DataTableoggetto .

CreateDataReader()

Restituisce un DataTableReader oggetto corrispondente ai dati all'interno di questo DataTableoggetto .

CreateInstance()

Crea una nuova istanza di DataTable.

Dispose()

Rilascia tutte le risorse usate da MarshalByValueComponent.

(Ereditato da MarshalByValueComponent)
Dispose(Boolean)

Rilascia le risorse non gestite usate da MarshalByValueComponent e, facoltativamente, rilascia le risorse gestite.

(Ereditato da MarshalByValueComponent)
EndInit()

Termina l'inizializzazione di un DataTable oggetto utilizzato in una maschera o utilizzato da un altro componente. L'inizializzazione viene eseguita in fase di esecuzione.

EndLoadData()

Attiva le notifiche, la manutenzione degli indici e i vincoli dopo il caricamento dei dati.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetChanges()

Ottiene una copia dell'oggetto DataTable che contiene tutte le modifiche apportate dopo il caricamento o AcceptChanges() l'ultima chiamata.

GetChanges(DataRowState)

Ottiene una copia dell'oggetto DataTable contenente tutte le modifiche apportate dall'ultimo caricamento o dalla AcceptChanges() chiamata, filtrata in base DataRowStatea .

GetDataTableSchema(XmlSchemaSet)

Questo metodo restituisce un'istanza XmlSchemaSet contenente il linguaggio WSDL (Web Services Description Language) che descrive per DataTable i servizi Web.

GetErrors()

Ottiene una matrice di DataRow oggetti che contengono errori.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleti.

Popola un oggetto informazioni di serializzazione con i dati necessari per serializzare l'oggetto DataTable.

GetRowType()

Ottiene il tipo di riga.

GetSchema()

Per una descrizione di questo membro, vedere GetSchema().

GetService(Type)

Ottiene l'implementatore dell'oggetto IServiceProvider.

(Ereditato da MarshalByValueComponent)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
ImportRow(DataRow)

Copia un oggetto DataRow in un DataTableoggetto , mantenendo tutte le impostazioni delle proprietà, nonché i valori originali e correnti.

Load(IDataReader, LoadOption, FillErrorEventHandler)

Riempie un DataTable oggetto con i valori di un'origine dati usando l'oggetto fornito IDataReader usando un delegato di gestione degli errori.

Load(IDataReader, LoadOption)

Riempie un DataTable oggetto con i valori di un'origine dati usando l'oggetto IDataReaderfornito. Se l'oggetto DataTable contiene già righe, i dati in ingresso dall'origine dati vengono uniti alle righe esistenti in base al valore del loadOption parametro .

Load(IDataReader)

Riempie un DataTable oggetto con i valori di un'origine dati usando l'oggetto IDataReaderfornito. Se l'oggetto DataTable contiene già righe, i dati in ingresso dall'origine dati vengono uniti alle righe esistenti.

LoadDataRow(Object[], Boolean)

Trova e aggiorna una riga specifica. Se non viene trovata alcuna riga corrispondente, viene creata una nuova riga usando i valori specificati.

LoadDataRow(Object[], LoadOption)

Trova e aggiorna una riga specifica. Se non viene trovata alcuna riga corrispondente, viene creata una nuova riga usando i valori specificati.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Merge(DataTable, Boolean, MissingSchemaAction)

Unire l'oggetto specificato DataTable con l'oggetto corrente DataTableche indica se mantenere le modifiche e come gestire lo schema mancante nell'oggetto corrente DataTable.

Merge(DataTable, Boolean)

Unire l'oggetto specificato DataTable con l'oggetto corrente DataTableche indica se mantenere le modifiche nell'oggetto corrente DataTable.

Merge(DataTable)

Unire l'oggetto specificato DataTable con l'oggetto corrente DataTable.

NewRow()

Crea un nuovo DataRow oggetto con lo stesso schema della tabella.

NewRowArray(Int32)

Restituisce un array di DataRow.

NewRowFromBuilder(DataRowBuilder)

Crea una nuova riga da una riga esistente.

OnColumnChanged(DataColumnChangeEventArgs)

Genera l'evento ColumnChanged.

OnColumnChanging(DataColumnChangeEventArgs)

Genera l'evento ColumnChanging.

OnPropertyChanging(PropertyChangedEventArgs)

Genera l'evento PropertyChanged.

OnRemoveColumn(DataColumn)

Notifica all'oggetto DataTable che un oggetto DataColumn viene rimosso.

OnRowChanged(DataRowChangeEventArgs)

Genera l'evento RowChanged.

OnRowChanging(DataRowChangeEventArgs)

Genera l'evento RowChanging.

OnRowDeleted(DataRowChangeEventArgs)

Genera l'evento RowDeleted.

OnRowDeleting(DataRowChangeEventArgs)

Genera l'evento RowDeleting.

OnTableCleared(DataTableClearEventArgs)

Genera l'evento TableCleared.

OnTableClearing(DataTableClearEventArgs)

Genera l'evento TableClearing.

OnTableNewRow(DataTableNewRowEventArgs)

Genera l'evento TableNewRow.

ReadXml(Stream)

Legge xml schema e dati nell'oggetto utilizzando l'oggetto DataTable specificato Stream.

ReadXml(String)

Legge xml schema e dati nel DataTable dal file specificato.

ReadXml(TextReader)

Legge xml schema e dati nell'oggetto utilizzando l'oggetto DataTable specificato TextReader.

ReadXml(XmlReader)

Legge XML Schema e Dati nell'oggetto utilizzando l'oggetto DataTable specificato XmlReader.

ReadXmlSchema(Stream)

Legge un XML Schema nell'oggetto DataTable utilizzando il flusso specificato.

ReadXmlSchema(String)

Legge un XML Schema nel DataTable dal file specificato.

ReadXmlSchema(TextReader)

Legge un XML Schema nell'oggetto utilizzando l'oggetto DataTable specificato TextReader.

ReadXmlSchema(XmlReader)

Legge un XML Schema nell'oggetto utilizzando l'oggetto DataTable specificato XmlReader.

ReadXmlSerializable(XmlReader)

Legge da un flusso XML.

RejectChanges()

Esegue il rollback di tutte le modifiche apportate alla tabella dopo il caricamento o dell'ultima chiamata AcceptChanges() .

Reset()

Reimposta l'oggetto DataTable sullo stato originale. Reimposta rimuove tutti i dati, gli indici, le relazioni e le colonne della tabella. Se un oggetto DataSet include una tabella DataTable, la tabella farà comunque parte di DataSet dopo la reimpostazione della tabella.

Select()

Ottiene una matrice di tutti gli DataRow oggetti.

Select(String, String, DataViewRowState)

Ottiene una matrice di tutti gli DataRow oggetti che corrispondono al filtro nell'ordine dell'ordinamento corrispondente allo stato specificato.

Select(String, String)

Ottiene una matrice di tutti gli DataRow oggetti che corrispondono ai criteri di filtro, nell'ordinamento specificato.

Select(String)

Ottiene una matrice di tutti gli DataRow oggetti che corrispondono ai criteri di filtro.

ToString()

Ottiene e TableNameDisplayExpression, se ne esiste una come stringa concatenata.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
WriteXml(Stream, Boolean)

Scrive il contenuto corrente di DataTable come XML utilizzando l'oggetto specificato Stream. Per salvare i dati per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXml(Stream, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable nel file specificato usando l'oggetto specificato XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema. Per salvare i dati per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXml(Stream, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable nel file specificato usando l'oggetto specificato XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema.

WriteXml(Stream)

Scrive il contenuto corrente di DataTable come XML utilizzando l'oggetto specificato Stream.

WriteXml(String, Boolean)

Scrive il contenuto corrente di DataTable come XML utilizzando il file specificato. Per salvare i dati per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXml(String, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando il file specificato e XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema. Per salvare i dati per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXml(String, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando il file specificato e XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema.

WriteXml(String)

Scrive il contenuto corrente di DataTable come XML utilizzando il file specificato.

WriteXml(TextWriter, Boolean)

Scrive il contenuto corrente di DataTable come XML utilizzando l'oggetto specificato TextWriter. Per salvare i dati per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXml(TextWriter, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto utilizzando l'oggetto DataTable specificato TextWriter e XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema. Per salvare i dati per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXml(TextWriter, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto utilizzando l'oggetto DataTable specificato TextWriter e XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema.

WriteXml(TextWriter)

Scrive il contenuto corrente di DataTable come XML utilizzando l'oggetto specificato TextWriter.

WriteXml(XmlWriter, Boolean)

Scrive il contenuto corrente di DataTable come XML utilizzando l'oggetto specificato XmlWriter.

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto utilizzando l'oggetto DataTable specificato XmlWriter e XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema. Per salvare i dati per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXml(XmlWriter, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto utilizzando l'oggetto DataTable specificato XmlWriter e XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema.

WriteXml(XmlWriter)

Scrive il contenuto corrente di DataTable come XML utilizzando l'oggetto specificato XmlWriter.

WriteXmlSchema(Stream, Boolean)

Scrive la struttura di dati corrente di DataTable come XML Schema nel flusso specificato. Per salvare lo schema per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXmlSchema(Stream)

Scrive la struttura di dati corrente di DataTable come XML Schema nel flusso specificato.

WriteXmlSchema(String, Boolean)

Scrive la struttura di dati corrente di DataTable come XML Schema nel file specificato. Per salvare lo schema per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXmlSchema(String)

Scrive la struttura di dati corrente di DataTable come XML Schema nel file specificato.

WriteXmlSchema(TextWriter, Boolean)

Scrive la struttura di dati corrente di DataTable come XML Schema utilizzando l'oggetto specificato TextWriter. Per salvare lo schema per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXmlSchema(TextWriter)

Scrive la struttura di dati corrente di DataTable come XML Schema utilizzando l'oggetto specificato TextWriter.

WriteXmlSchema(XmlWriter, Boolean)

Scrive la struttura di dati corrente di DataTable come XML Schema utilizzando l'oggetto specificato XmlWriter. Per salvare lo schema per la tabella e tutti i relativi discendenti, impostare il writeHierarchy parametro su true.

WriteXmlSchema(XmlWriter)

Scrive la struttura di dati corrente di DataTable come XML Schema utilizzando l'oggetto specificato XmlWriter.

Eventi

Nome Descrizione
ColumnChanged

Si verifica dopo la modifica di un valore per l'oggetto specificato DataColumn in un oggetto DataRow.

ColumnChanging

Si verifica quando viene modificato un valore per l'oggetto specificato DataColumn in un oggetto DataRow.

Disposed

Aggiunge un gestore eventi per restare in ascolto dell'evento Disposed nel componente.

(Ereditato da MarshalByValueComponent)
Initialized

Si verifica dopo l'inizializzazione di DataTable .

RowChanged

Si verifica dopo che un oggetto DataRow è stato modificato correttamente.

RowChanging

Si verifica quando un oggetto DataRow cambia.

RowDeleted

Si verifica dopo l'eliminazione di una riga nella tabella.

RowDeleting

Si verifica prima dell'eliminazione di una riga nella tabella.

TableCleared

Si verifica dopo la cancellazione di un oggetto DataTable .

TableClearing

Si verifica quando un oggetto DataTable viene cancellato.

TableNewRow

Si verifica quando viene inserito un nuovo DataRow oggetto .

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IListSource.ContainsListCollection

Per una descrizione di questo membro, vedere ContainsListCollection.

IListSource.GetList()

Per una descrizione di questo membro, vedere GetList().

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Popola un oggetto informazioni di serializzazione con i dati necessari per serializzare l'oggetto DataTable.

IXmlSerializable.GetSchema()

Per una descrizione di questo membro, vedere GetSchema().

IXmlSerializable.ReadXml(XmlReader)

Per una descrizione di questo membro, vedere ReadXml(XmlReader).

IXmlSerializable.WriteXml(XmlWriter)

Per una descrizione di questo membro, vedere WriteXml(XmlWriter).

Metodi di estensione

Nome Descrizione
AsDataView(DataTable)

Crea e restituisce un oggetto abilitato per DataView LINQ.

AsEnumerable(DataTable)

Restituisce un IEnumerable<T> oggetto, dove il parametro generico T è DataRow. Questo oggetto può essere usato in un'espressione LINQ o in una query del metodo.

CreateAsyncScope(IServiceProvider)

Crea un nuovo AsyncServiceScope oggetto che può essere usato per risolvere i servizi con ambito.

CreateScope(IServiceProvider)

Crea un nuovo IServiceScope oggetto che può essere usato per risolvere i servizi con ambito.

GetKeyedService(IServiceProvider, Type, Object)

Ottenere il servizio di tipo serviceType da IServiceProvider.

GetKeyedService<T>(IServiceProvider, Object)

Ottenere il servizio di tipo T da IServiceProvider.

GetKeyedServices(IServiceProvider, Type, Object)

Ottenere un'enumerazione dei servizi di tipo serviceType da IServiceProvider.

GetKeyedServices<T>(IServiceProvider, Object)

Ottenere un'enumerazione dei servizi di tipo T da IServiceProvider.

GetRequiredKeyedService(IServiceProvider, Type, Object)

Ottenere il servizio di tipo serviceType da IServiceProvider.

GetRequiredKeyedService<T>(IServiceProvider, Object)

Ottenere il servizio di tipo T da IServiceProvider.

GetRequiredService(IServiceProvider, Type)

Ottenere il servizio di tipo serviceType da IServiceProvider.

GetRequiredService<T>(IServiceProvider)

Ottenere il servizio di tipo T da IServiceProvider.

GetService<T>(IServiceProvider)

Ottenere il servizio di tipo T da IServiceProvider.

GetServices(IServiceProvider, Type)

Ottenere un'enumerazione dei servizi di tipo serviceType da IServiceProvider.

GetServices<T>(IServiceProvider)

Ottenere un'enumerazione dei servizi di tipo T da IServiceProvider.

Si applica a

Thread safety

Questo tipo è sicuro per le operazioni di lettura multithreading. È necessario sincronizzare tutte le operazioni di scrittura.

Vedi anche