DataTable DataTable DataTable DataTable Class

Definizione

Rappresenta una tabella di dati in memoria.Represents one table of in-memory data.

public ref class DataTable : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitializeNotification, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
[System.Serializable]
public class DataTable : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
type DataTable = class
    inherit MarshalByValueComponent
    interface IListSource
    interface ISupportInitializeNotification
    interface ISerializable
    interface IXmlSerializable
    interface ISupportInitialize
Public Class DataTable
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitializeNotification, IXmlSerializable
Ereditarietà
Derivato
Attributi
Implementazioni

Esempi

Nell'esempio seguente vengono creati DataTable due oggetti e DataRelation un oggetto e DataSeti nuovi oggetti vengono aggiunti a.The following example creates two DataTable objects and one DataRelation object, and adds the new objects to a DataSet. Le tabelle vengono quindi visualizzate in un DataGridView controllo.The tables are then displayed in a DataGridView control.

// Put the next line into the Declarations section.
private System.Data.DataSet dataSet;

private void MakeDataTables()
{
    // Run all of the functions. 
    MakeParentTable();
    MakeChildTable();
    MakeDataRelation();
    BindToDataGrid();
}

private void MakeParentTable()
{
    // Create a new DataTable.
    System.Data.DataTable table = new DataTable("ParentTable");
    // Declare variables for DataColumn and DataRow objects.
    DataColumn column;
    DataRow row;

    // 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.
    DataColumn[] PrimaryKeyColumns = new DataColumn[1];
    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
    for (int i = 0; i<= 2; i++)
    {
        row = table.NewRow();
        row["id"] = i;
        row["ParentItem"] = "ParentItem " + i;
        table.Rows.Add(row);
    }
}

private void MakeChildTable()
{
    // Create a new DataTable.
    DataTable table = new DataTable("childTable");
    DataColumn column;
    DataRow row;

    // 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.
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 0 ;
        table.Rows.Add(row);
    }
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i + 5;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 1 ;
        table.Rows.Add(row);
    }
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i + 10;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 2 ;
        table.Rows.Add(row);
    }
}

private void MakeDataRelation()
{
    // DataRelation requires two DataColumn 
    // (parent and child) and a name.
    DataColumn parentColumn = 
        dataSet.Tables["ParentTable"].Columns["id"];
    DataColumn childColumn = 
        dataSet.Tables["ChildTable"].Columns["ParentID"];
    DataRelation relation = new 
        DataRelation("parent2Child", parentColumn, childColumn);
    dataSet.Tables["ChildTable"].ParentRelations.Add(relation);
}

private void BindToDataGrid()
{
    // Instruct the DataGrid to bind to the DataSet, with the 
    // ParentTable as the topmost DataTable.
    dataGrid1.SetDataBinding(dataSet,"ParentTable");
}
' 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 DataTable = 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 DataTable = 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
 

In questo esempio viene illustrato come creare manualmente un oggetto DataTable tramite definizioni di schema specifiche:This sample demonstrates how to create a DataTable manually with specific schema definitions:

  • Creare più DataTable e definire le colonne iniziali.Create multiple DataTables and define the initial columns.

  • Creare i vincoli della tabella.Create the table constraints.

  • Inserire i valori e visualizzare le tabelle.Insert the values and display the tables.

  • Creare colonne di espressioni e visualizzare le tabelle.Create the expression columns and display the tables.

C#e Visual Basic progetti con questo esempio di codice sono disponibili in esempi di codiceper gli sviluppatori.C# and Visual Basic projects with this code sample can be found on Developer Code Samples.

using System;
using System.Data;

class Program {
   static void Main(string[] args) {
      // Create two tables and add them into the DataSet
      DataTable orderTable = CreateOrderTable();
      DataTable orderDetailTable = CreateOrderDetailTable();
      DataSet salesSet = new DataSet();
      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 constriant, you will see the following error if inserting order detail with the wrong OrderId: ");
      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 DataColumn("SubTotal", typeof(Decimal), "Sum(Child.LineTotal)");
      orderTable.Columns.Add(colSub);

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

      // If the OrderId is 'Total', compute the due on all orders; or compute the due on this order.
      DataColumn colTotal = new DataColumn("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 DataTable("Order");

      // Define one column.
      DataColumn colId = new DataColumn("OrderId", typeof(String));
      orderTable.Columns.Add(colId);

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

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

      return orderTable;
   }

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

      // Define all the columns once.
      DataColumn[] cols ={
                                  new DataColumn("OrderDetailId",typeof(Int32)),
                                  new DataColumn("OrderId",typeof(String)),
                                  new DataColumn("Product",typeof(String)),
                                  new DataColumn("UnitPrice",typeof(Decimal)),
                                  new DataColumn("OrderQty",typeof(Int32)),
                                  new DataColumn("LineTotal",typeof(Decimal),"UnitPrice*OrderQty")
                              };

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

   private static void InsertOrders(DataTable orderTable) {
      // Add one row once.
      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 = {
                                 new Object[]{1,"O0001","Mountain Bike",1419.5,36},
                                 new Object[]{2,"O0001","Road Bike",1233.6,16},
                                 new Object[]{3,"O0001","Touring Bike",1653.3,32},
                                 new Object[]{4,"O0002","Mountain Bike",1419.5,24},
                                 new Object[]{5,"O0002","Road Bike",1233.6,12},
                                 new Object[]{6,"O0003","Mountain Bike",1419.5,48},
                                 new Object[]{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();
   }
}
Imports System.Data

Class Program
   Public Shared Sub Main(args As String())
      ' Create two tables and add them into the DataSet
      Dim orderTable As DataTable = CreateOrderTable()
      Dim orderDetailTable As DataTable = CreateOrderDetailTable()
      Dim salesSet As New DataSet()
      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 constriant, you will see the following error if inserting order detail with the wrong OrderId: ")
      Try
         Dim errorRow As DataRow = orderDetailTable.NewRow()
         errorRow(0) = 1
         errorRow(1) = "O0007"
         orderDetailTable.Rows.Add(errorRow)
      Catch e As Exception
         Console.WriteLine(e.Message)
      End Try
      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.
      Dim colSub As New DataColumn("SubTotal", GetType([Decimal]), "Sum(Child.LineTotal)")
      orderTable.Columns.Add(colSub)

      ' Compute the tax by referencing the SubTotal expression column.
      Dim colTax As New DataColumn("Tax", GetType([Decimal]), "SubTotal*0.1")
      orderTable.Columns.Add(colTax)

      ' If the OrderId is 'Total', compute the due on all orders; or compute the due on this order.
      Dim colTotal As New DataColumn("TotalDue", GetType([Decimal]), "IIF(OrderId='Total',Sum(SubTotal)+Sum(Tax),SubTotal+Tax)")
      orderTable.Columns.Add(colTotal)

      Dim row As DataRow = 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()
   End Sub

   Private Shared Function CreateOrderTable() As DataTable
      Dim orderTable As New DataTable("Order")

      ' Define one column.
      Dim colId As New DataColumn("OrderId", GetType([String]))
      orderTable.Columns.Add(colId)

      Dim colDate As New DataColumn("OrderDate", GetType(DateTime))
      orderTable.Columns.Add(colDate)

      ' Set the OrderId column as the primary key.
      orderTable.PrimaryKey = New DataColumn() {colId}

      Return orderTable
   End Function

   Private Shared Function CreateOrderDetailTable() As DataTable
      Dim orderDetailTable As New DataTable("OrderDetail")

      ' Define all the columns once.
      Dim cols As DataColumn() = {New DataColumn("OrderDetailId", GetType(Int32)), New DataColumn("OrderId", GetType([String])), New DataColumn("Product", GetType([String])), New DataColumn("UnitPrice", GetType([Decimal])), New DataColumn("OrderQty", GetType(Int32)), New DataColumn("LineTotal", GetType([Decimal]), "UnitPrice*OrderQty")}

      orderDetailTable.Columns.AddRange(cols)
      orderDetailTable.PrimaryKey = New DataColumn() {orderDetailTable.Columns("OrderDetailId")}
      Return orderDetailTable
   End Function

   Private Shared Sub InsertOrders(orderTable As DataTable)
      ' Add one row once.
      Dim row1 As DataRow = orderTable.NewRow()
      row1("OrderId") = "O0001"
      row1("OrderDate") = New DateTime(2013, 3, 1)
      orderTable.Rows.Add(row1)

      Dim row2 As DataRow = orderTable.NewRow()
      row2("OrderId") = "O0002"
      row2("OrderDate") = New DateTime(2013, 3, 12)
      orderTable.Rows.Add(row2)

      Dim row3 As DataRow = orderTable.NewRow()
      row3("OrderId") = "O0003"
      row3("OrderDate") = New DateTime(2013, 3, 20)
      orderTable.Rows.Add(row3)
   End Sub

   Private Shared Sub InsertOrderDetails(orderDetailTable As DataTable)
      ' 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.
      Dim rows As [Object]() = {New [Object]() {1, "O0001", "Mountain Bike", 1419.5, 36}, New [Object]() {2, "O0001", "Road Bike", 1233.6, 16}, New [Object]() {3, "O0001", "Touring Bike", 1653.3, 32}, New [Object]() {4, "O0002", "Mountain Bike", 1419.5, 24}, New [Object]() {5, "O0002", "Road Bike", 1233.6, 12}, New [Object]() {6, "O0003", "Mountain Bike", 1419.5, 48}, _
         New [Object]() {7, "O0003", "Touring Bike", 1653.3, 8}}

      For Each row As [Object]() In rows
         orderDetailTable.Rows.Add(row)
      Next
   End Sub

   Private Shared Sub ShowTable(table As DataTable)
      For Each col As DataColumn In table.Columns
         Console.Write("{0,-14}", col.ColumnName)
      Next
      Console.WriteLine()

      For Each row As DataRow In table.Rows
         For Each col As DataColumn In table.Columns
            If col.DataType.Equals(GetType(DateTime)) Then
               Console.Write("{0,-14:d}", row(col))
            ElseIf col.DataType.Equals(GetType([Decimal])) Then
               Console.Write("{0,-14:C}", row(col))
            Else
               Console.Write("{0,-14}", row(col))
            End If
         Next
         Console.WriteLine()
      Next
      Console.WriteLine()
   End Sub
End Class

Commenti

DataTable È un oggetto centrale nella libreria ADO.NET.The DataTable is a central object in the ADO.NET library. Altri oggetti che usano l' DataTable oggetto DataSet includono e DataView.Other objects that use the DataTable include the DataSet and the DataView.

Quando si accede DataTable agli oggetti, si noti che sono con distinzione tra maiuscole e minuscole.When accessing DataTable objects, note that they are conditionally case sensitive. Ad esempio, se un DataTable nome è "DataTable" e un altro è denominato "DataTable", una stringa utilizzata per cercare una delle tabelle viene considerata come distinzione tra maiuscole e minuscole.For example, if one DataTable is named "mydatatable" and another is named "Mydatatable", a string used to search for one of the tables is regarded as case sensitive. Tuttavia, se "DataTable" esiste e "DataTable" non lo è, la stringa di ricerca viene considerata senza distinzione tra maiuscole e minuscole.However, if "mydatatable" exists and "Mydatatable" does not, the search string is regarded as case insensitive. Un DataSet oggetto può contenere DataTable due oggetti con lo stesso TableName valore della proprietà ma Namespace con valori di proprietà diversi.A DataSet can contain two DataTable objects that have the same TableName property value but different Namespace property values. Per ulteriori informazioni sull'utilizzo DataTable degli oggetti, vedere Creating a DataTable.For more information about working with DataTable objects, see Creating a DataTable.

Se si crea un oggetto DataTable a livello DataColumn di codice, è necessario innanzitutto definirne lo schema aggiungendo DataColumnCollection oggetti a (a Columns cui si accede tramite la proprietà).If you are creating a DataTable programmatically, you must first define its schema by adding DataColumn objects to the DataColumnCollection (accessed through the Columns property). Per ulteriori informazioni sull'aggiunta DataColumn di oggetti, vedere aggiunta di colonne a un oggetto DataTable.For more information about adding DataColumn objects, see Adding Columns to a DataTable.

Per aggiungere righe a un DataTableoggetto, è necessario innanzitutto utilizzare NewRow il metodo per restituire un DataRow nuovo oggetto.To add rows to a DataTable, you must first use the NewRow method to return a new DataRow object. Il NewRow metodo restituisce una riga con lo schema dell'oggetto DataTable, così come è DataColumnCollectiondefinito dall'oggetto della tabella.The NewRow method returns a row with the schema of the DataTable, as it is defined by the table's DataColumnCollection. Il numero massimo di righe che un DataTable oggetto può archiviare è 16.777.216.The maximum number of rows that a DataTable can store is 16,777,216. Per ulteriori informazioni, vedere aggiunta di dati a un oggetto DataTable.For more information, see Adding Data to a DataTable.

Contiene inoltre una raccolta di Constraint oggetti che possono essere utilizzati per garantire l'integrità dei dati. DataTableThe DataTable also contains a collection of Constraint objects that can be used to ensure the integrity of the data. Per altre informazioni, vedere vincoli DataTable.For more information, see DataTable Constraints.

Sono disponibili molti DataTable eventi che possono essere utilizzati per determinare quando vengono apportate modifiche a una tabella.There are many DataTable events that can be used to determine when changes are made to a table. Tali attributi includono RowChanged, RowChanging, RowDeleting e RowDeleted.These include RowChanged, RowChanging, RowDeleting, and RowDeleted. Per ulteriori informazioni sugli eventi che possono essere utilizzati con un DataTable, vedere Gestione di eventi DataTable.For more information about the events that can be used with a DataTable, see Handling DataTable Events.

Quando viene creata un' DataTable istanza di, alcune delle proprietà di lettura/scrittura vengono impostate sui valori iniziali.When an instance of DataTable is created, some of the read/write properties are set to initial values. Per un elenco di questi valori, vedere l' DataTable.DataTable argomento relativo al costruttore.For a list of these values, see the DataTable.DataTable constructor topic.

Nota

Gli DataSet oggetti DataTable e ereditano MarshalByValueComponentda e supportano l' ISerializable interfaccia per .NET Framework comunicazione remota.The DataSet and DataTable objects inherit from MarshalByValueComponent, and support the ISerializable interface for .NET Framework remoting. Questi sono gli unici oggetti ADO.NET che è possibile usare per .NET Framework comunicazione remota.These are the only ADO.NET objects that you can use for .NET Framework remoting.

Costruttori

DataTable() DataTable() DataTable() DataTable()

Inizializza una nuova istanza della classe DataTable senza argomenti.Initializes a new instance of the DataTable class with no arguments.

DataTable(SerializationInfo, StreamingContext) DataTable(SerializationInfo, StreamingContext) DataTable(SerializationInfo, StreamingContext) DataTable(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe DataTable con gli oggetti SerializationInfo e StreamingContext.Initializes a new instance of the DataTable class with the SerializationInfo and the StreamingContext.

DataTable(String) DataTable(String) DataTable(String) DataTable(String)

Inizializza una nuova istanza della classe DataTable con il nome della tabella specificato.Initializes a new instance of the DataTable class with the specified table name.

DataTable(String, String) DataTable(String, String) DataTable(String, String) DataTable(String, String)

Inizializza una nuova istanza della classe DataTable con il nome della tabella e lo spazio dei nomi specificati.Initializes a new instance of the DataTable class using the specified table name and namespace.

Campi

fInitInProgress fInitInProgress fInitInProgress fInitInProgress

Controlla se l'inizializzazione è in corso.Checks whether initialization is in progress. L'inizializzazione avviene in fase di esecuzione.The initialization occurs at run time.

Proprietà

CaseSensitive CaseSensitive CaseSensitive CaseSensitive

Indica se i confronti tra stringhe all'interno della tabella prendono in considerazione la distinzione tra maiuscole e minuscole.Indicates whether string comparisons within the table are case-sensitive.

ChildRelations ChildRelations ChildRelations ChildRelations

Ottiene l'insieme di relazioni figlio per l'oggetto DataTable.Gets the collection of child relations for this DataTable.

Columns Columns Columns Columns

Ottiene l'insieme di colonne che appartengono a questa tabella.Gets the collection of columns that belong to this table.

Constraints Constraints Constraints Constraints

Ottiene l'insieme di vincoli mantenuti da questa tabella.Gets the collection of constraints maintained by this table.

Container Container Container Container

Ottiene il contenitore del componente.Gets the container for the component.

(Inherited from MarshalByValueComponent)
DataSet DataSet DataSet DataSet

Ottiene la classe DataSet a cui la tabella appartiene.Gets the DataSet to which this table belongs.

DefaultView DefaultView DefaultView DefaultView

Ottiene una visualizzazione personalizzata della tabella che può comprendere una visualizzazione filtrata o la posizione del cursore.Gets a customized view of the table that may include a filtered view, or a cursor position.

DesignMode DesignMode DesignMode DesignMode

Ottiene un valore che indica se il componente è in modalità progettazione.Gets a value indicating whether the component is currently in design mode.

(Inherited from MarshalByValueComponent)
DisplayExpression DisplayExpression DisplayExpression DisplayExpression

Ottiene o imposta l'espressione che restituisce un valore utilizzato per rappresentare questa tabella nell'interfaccia utente.Gets or sets the expression that returns a value used to represent this table in the user interface. La proprietà DisplayExpression consente di visualizzare il nome di questa tabella in un'interfaccia utente.The DisplayExpression property lets you display the name of this table in a user interface.

Events Events Events Events

Ottiene l'elenco dei gestori eventi allegati a questo componente.Gets the list of event handlers that are attached to this component.

(Inherited from MarshalByValueComponent)
ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

Ottiene l'insieme di informazioni utente personalizzate.Gets the collection of customized user information.

HasErrors HasErrors HasErrors HasErrors

Ottiene un valore che indica se sono presenti errori nelle righe delle tabelle dell'oggetto DataSet al quale la tabella appartiene.Gets a value indicating whether there are errors in any of the rows in any of the tables of the DataSet to which the table belongs.

IsInitialized IsInitialized IsInitialized IsInitialized

Ottiene un valore che indica se la classe DataTable è inizializzata.Gets a value that indicates whether the DataTable is initialized.

Locale Locale Locale Locale

Ottiene o imposta le informazioni sulle impostazioni locali utilizzate per confrontare stringhe all'interno della tabella.Gets or sets the locale information used to compare strings within the table.

MinimumCapacity MinimumCapacity MinimumCapacity MinimumCapacity

Ottiene o imposta la dimensione iniziale di questa tabella.Gets or sets the initial starting size for this table.

Namespace Namespace Namespace Namespace

Ottiene o imposta lo spazio dei nomi per la rappresentazione XML dei dati memorizzati nella classe DataTable.Gets or sets the namespace for the XML representation of the data stored in the DataTable.

ParentRelations ParentRelations ParentRelations ParentRelations

Ottiene l'insieme di relazioni padre dell'oggetto DataTable.Gets the collection of parent relations for this DataTable.

Prefix Prefix Prefix Prefix

Ottiene o imposta lo spazio dei nomi per la rappresentazione XML dei dati memorizzati nella classe DataTable.Gets or sets the namespace for the XML representation of the data stored in the DataTable.

PrimaryKey PrimaryKey PrimaryKey PrimaryKey

Ottiene o imposta una matrice di colonne che agiscono da chiavi primarie della tabella di dati.Gets or sets an array of columns that function as primary keys for the data table.

RemotingFormat RemotingFormat RemotingFormat RemotingFormat

Ottiene o imposta il formato di serializzazione.Gets or sets the serialization format.

Rows Rows Rows Rows

Ottiene l'insieme di righe che appartengono a questa tabella.Gets the collection of rows that belong to this table.

Site Site Site Site

Ottiene o imposta un oggetto ISite per l'oggetto DataTable.Gets or sets an ISite for the DataTable.

TableName TableName TableName TableName

Ottiene o imposta il nome di DataTable.Gets or sets the name of the DataTable.

Metodi

AcceptChanges() AcceptChanges() AcceptChanges() AcceptChanges()

Convalida tutte le modifiche apportate a questa tabella sin dall'ultima chiamata al metodo AcceptChanges().Commits all the changes made to this table since the last time AcceptChanges() was called.

BeginInit() BeginInit() BeginInit() BeginInit()

Avvia l'inizializzazione di una DataTable usata su un form o da un altro componente.Begins the initialization of a DataTable that is used on a form or used by another component. L'inizializzazione avviene in fase di esecuzione.The initialization occurs at run time.

BeginLoadData() BeginLoadData() BeginLoadData() BeginLoadData()

Disattiva le notifiche, la manutenzione degli indici e i vincoli durante il caricamento dei dati.Turns off notifications, index maintenance, and constraints while loading data.

Clear() Clear() Clear() Clear()

Cancella tutti i dati dell'oggetto DataTable.Clears the DataTable of all data.

Clone() Clone() Clone() Clone()

Duplica la struttura dell'oggetto DataTable, tra cui tutti gli schemi e i vincoli dell'oggetto DataTable.Clones the structure of the DataTable, including all DataTable schemas and constraints.

Compute(String, String) Compute(String, String) Compute(String, String) Compute(String, String)

Calcola l'espressione specificata sulle righe correnti che soddisfano i criteri di filtro.Computes the given expression on the current rows that pass the filter criteria.

Copy() Copy() Copy() Copy()

Copia la struttura e i dati per questa classe DataTable.Copies both the structure and data for this DataTable.

CreateDataReader() CreateDataReader() CreateDataReader() CreateDataReader()

Restituisce una classe DataTableReader corrispondente ai dati all'interno di questa classe DataTable.Returns a DataTableReader corresponding to the data within this DataTable.

CreateInstance() CreateInstance() CreateInstance() CreateInstance()

Crea una nuova istanza di DataTable.Creates a new instance of DataTable.

Dispose() Dispose() Dispose() Dispose()

Rilascia tutte le risorse usate da MarshalByValueComponent.Releases all resources used by the MarshalByValueComponent.

(Inherited from MarshalByValueComponent)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Rilascia le risorse non gestite usate da MarshalByValueComponent e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the MarshalByValueComponent and optionally releases the managed resources.

(Inherited from MarshalByValueComponent)
EndInit() EndInit() EndInit() EndInit()

Termina l'inizializzazione di una classe DataTable usata su un form o da un altro componente.Ends the initialization of a DataTable that is used on a form or used by another component. L'inizializzazione avviene in fase di esecuzione.The initialization occurs at run time.

EndLoadData() EndLoadData() EndLoadData() EndLoadData()

Attiva le notifiche, la manutenzione degli indici e i vincoli dopo il caricamento dei dati.Turns on notifications, index maintenance, and constraints after loading data.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetChanges() GetChanges() GetChanges() GetChanges()

Ottiene una copia della classe DataTable contenente tutte le modifiche apportate a essa dal momento in cui è stata caricata o dall'ultima chiamata al metodo AcceptChanges().Gets a copy of the DataTable that contains all changes made to it since it was loaded or AcceptChanges() was last called.

GetChanges(DataRowState) GetChanges(DataRowState) GetChanges(DataRowState) GetChanges(DataRowState)

Ottiene una copia della classe DataTable contenente tutte le modifiche apportate a essa dal momento in cui è stata caricata o dall'ultima chiamata al metodo AcceptChanges(), filtrata dall'enumerazione DataRowState.Gets a copy of the DataTable containing all changes made to it since it was last loaded, or since AcceptChanges() was called, filtered by DataRowState.

GetDataTableSchema(XmlSchemaSet) GetDataTableSchema(XmlSchemaSet) GetDataTableSchema(XmlSchemaSet) GetDataTableSchema(XmlSchemaSet)

Questo metodo restituisce un'istanza XmlSchemaSet contenente il linguaggio WDSL (Web Services Description Language) che descrive la classe DataTable per i servizi Web.This method returns an XmlSchemaSet instance containing the Web Services Description Language (WSDL) that describes the DataTable for Web Services.

GetErrors() GetErrors() GetErrors() GetErrors()

Ottiene una matrice di oggetti DataRow che contengono errori.Gets an array of DataRow objects that contain errors.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Popola un oggetto di informazioni di serializzazione con i dati necessari per serializzare l'istanza di DataTable.Populates a serialization information object with the data needed to serialize the DataTable.

GetRowType() GetRowType() GetRowType() GetRowType()

Ottiene il tipo della riga.Gets the row type.

GetSchema() GetSchema() GetSchema() GetSchema()

Per una descrizione di questo membro, vedere GetSchema().For a description of this member, see GetSchema().

GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Ottiene l'implementatore dell'interfaccia IServiceProvider.Gets the implementer of the IServiceProvider.

(Inherited from MarshalByValueComponent)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
ImportRow(DataRow) ImportRow(DataRow) ImportRow(DataRow) ImportRow(DataRow)

Copia un oggetto DataRow in un oggetto DataTable, conservando sia le impostazioni delle proprietà sia i valori originali e correnti.Copies a DataRow into a DataTable, preserving any property settings, as well as original and current values.

Load(IDataReader) Load(IDataReader) Load(IDataReader) Load(IDataReader)

Riempie una classe DataTable con valori di un'origine dati utilizzando l'interfaccia IDataReader fornita.Fills a DataTable with values from a data source using the supplied IDataReader. Se DataTable contiene già righe, i dati in arrivo dall'origine dati vengono uniti alle righe esistenti.If the DataTable already contains rows, the incoming data from the data source is merged with the existing rows.

Load(IDataReader, LoadOption) Load(IDataReader, LoadOption) Load(IDataReader, LoadOption) Load(IDataReader, LoadOption)

Riempie una classe DataTable con valori di un'origine dati utilizzando l'interfaccia IDataReader fornita.Fills a DataTable with values from a data source using the supplied IDataReader. Se DataTable contiene già righe, i dati in arrivo dall'origine dati vengono uniti alle righe esistenti, in base al valore del parametro loadOption.If the DataTable already contains rows, the incoming data from the data source is merged with the existing rows according to the value of the loadOption parameter.

Load(IDataReader, LoadOption, FillErrorEventHandler) Load(IDataReader, LoadOption, FillErrorEventHandler) Load(IDataReader, LoadOption, FillErrorEventHandler) Load(IDataReader, LoadOption, FillErrorEventHandler)

Riempie una classe DataTable con valori di un'origine dati utilizzando l'interfaccia IDataReader fornita, tramite un delegato di gestione degli errori.Fills a DataTable with values from a data source using the supplied IDataReader using an error-handling delegate.

LoadDataRow(Object[], Boolean) LoadDataRow(Object[], Boolean) LoadDataRow(Object[], Boolean) LoadDataRow(Object[], Boolean)

Rileva e aggiorna una riga specifica.Finds and updates a specific row. Se non viene trovata una riga corrispondente, viene creata una nuova riga utilizzando i valori dati.If no matching row is found, a new row is created using the given values.

LoadDataRow(Object[], LoadOption) LoadDataRow(Object[], LoadOption) LoadDataRow(Object[], LoadOption) LoadDataRow(Object[], LoadOption)

Rileva e aggiorna una riga specifica.Finds and updates a specific row. Se non viene trovata una riga corrispondente, viene creata una nuova riga utilizzando i valori dati.If no matching row is found, a new row is created using the given values.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
Merge(DataTable) Merge(DataTable) Merge(DataTable) Merge(DataTable)

Unire la classe DataTable specificata alla classe DataTable corrente.Merge the specified DataTable with the current DataTable.

Merge(DataTable, Boolean) Merge(DataTable, Boolean) Merge(DataTable, Boolean) Merge(DataTable, Boolean)

Unire la classe DataTable specificata alla classe DataTable corrente, indicando se conservare le modifiche nella classe DataTable corrente.Merge the specified DataTable with the current DataTable, indicating whether to preserve changes in the current DataTable.

Merge(DataTable, Boolean, MissingSchemaAction) Merge(DataTable, Boolean, MissingSchemaAction) Merge(DataTable, Boolean, MissingSchemaAction) Merge(DataTable, Boolean, MissingSchemaAction)

Unire la classe DataTable specificata alla classe DataTable corrente, indicando se conservare le modifiche e come gestire lo schema mancante nella classe DataTable corrente.Merge the specified DataTable with the current DataTable, indicating whether to preserve changes and how to handle missing schema in the current DataTable.

NewRow() NewRow() NewRow() NewRow()

Crea un nuovo oggetto DataRow con lo stesso schema della tabella.Creates a new DataRow with the same schema as the table.

NewRowArray(Int32) NewRowArray(Int32) NewRowArray(Int32) NewRowArray(Int32)

Restituisce una matrice di DataRow.Returns an array of DataRow.

NewRowFromBuilder(DataRowBuilder) NewRowFromBuilder(DataRowBuilder) NewRowFromBuilder(DataRowBuilder) NewRowFromBuilder(DataRowBuilder)

Crea una nuova riga da una riga esistente.Creates a new row from an existing row.

OnColumnChanged(DataColumnChangeEventArgs) OnColumnChanged(DataColumnChangeEventArgs) OnColumnChanged(DataColumnChangeEventArgs) OnColumnChanged(DataColumnChangeEventArgs)

Genera l'evento ColumnChanged.Raises the ColumnChanged event.

OnColumnChanging(DataColumnChangeEventArgs) OnColumnChanging(DataColumnChangeEventArgs) OnColumnChanging(DataColumnChangeEventArgs) OnColumnChanging(DataColumnChangeEventArgs)

Genera l'evento ColumnChanging.Raises the ColumnChanging event.

OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs)

Genera l'evento PropertyChanged.Raises the PropertyChanged event.

OnRemoveColumn(DataColumn) OnRemoveColumn(DataColumn) OnRemoveColumn(DataColumn) OnRemoveColumn(DataColumn)

Notifica all'oggetto DataTable che è in corso l'eliminazione di un oggetto DataColumn.Notifies the DataTable that a DataColumn is being removed.

OnRowChanged(DataRowChangeEventArgs) OnRowChanged(DataRowChangeEventArgs) OnRowChanged(DataRowChangeEventArgs) OnRowChanged(DataRowChangeEventArgs)

Genera l'evento RowChanged.Raises the RowChanged event.

OnRowChanging(DataRowChangeEventArgs) OnRowChanging(DataRowChangeEventArgs) OnRowChanging(DataRowChangeEventArgs) OnRowChanging(DataRowChangeEventArgs)

Genera l'evento RowChanging.Raises the RowChanging event.

OnRowDeleted(DataRowChangeEventArgs) OnRowDeleted(DataRowChangeEventArgs) OnRowDeleted(DataRowChangeEventArgs) OnRowDeleted(DataRowChangeEventArgs)

Genera l'evento RowDeleted.Raises the RowDeleted event.

OnRowDeleting(DataRowChangeEventArgs) OnRowDeleting(DataRowChangeEventArgs) OnRowDeleting(DataRowChangeEventArgs) OnRowDeleting(DataRowChangeEventArgs)

Genera l'evento RowDeleting.Raises the RowDeleting event.

OnTableCleared(DataTableClearEventArgs) OnTableCleared(DataTableClearEventArgs) OnTableCleared(DataTableClearEventArgs) OnTableCleared(DataTableClearEventArgs)

Genera l'evento TableCleared.Raises the TableCleared event.

OnTableClearing(DataTableClearEventArgs) OnTableClearing(DataTableClearEventArgs) OnTableClearing(DataTableClearEventArgs) OnTableClearing(DataTableClearEventArgs)

Genera l'evento TableClearing.Raises the TableClearing event.

OnTableNewRow(DataTableNewRowEventArgs) OnTableNewRow(DataTableNewRowEventArgs) OnTableNewRow(DataTableNewRowEventArgs) OnTableNewRow(DataTableNewRowEventArgs)

Genera l'evento TableNewRow.Raises the TableNewRow event.

ReadXml(Stream) ReadXml(Stream) ReadXml(Stream) ReadXml(Stream)

Legge i dati e lo schema XML nella classe DataTable utilizzando la classe Stream specificata.Reads XML schema and data into the DataTable using the specified Stream.

ReadXml(String) ReadXml(String) ReadXml(String) ReadXml(String)

Legge i dati e lo schema XML nella classe DataTable dal file specificato.Reads XML schema and data into the DataTable from the specified file.

ReadXml(TextReader) ReadXml(TextReader) ReadXml(TextReader) ReadXml(TextReader)

Legge i dati e lo schema XML nella classe DataTable utilizzando la classe TextReader specificata.Reads XML schema and data into the DataTable using the specified TextReader.

ReadXml(XmlReader) ReadXml(XmlReader) ReadXml(XmlReader) ReadXml(XmlReader)

Legge i dati e lo schema XML nell'oggetto DataTable utilizzando l'oggetto XmlReader specificato.Reads XML Schema and Data into the DataTable using the specified XmlReader.

ReadXmlSchema(Stream) ReadXmlSchema(Stream) ReadXmlSchema(Stream) ReadXmlSchema(Stream)

Legge uno schema XML nella classe DataTable, utilizzando il flusso specificato.Reads an XML schema into the DataTable using the specified stream.

ReadXmlSchema(String) ReadXmlSchema(String) ReadXmlSchema(String) ReadXmlSchema(String)

Legge uno schema XML nella classe DataTable dal file specificato.Reads an XML schema into the DataTable from the specified file.

ReadXmlSchema(TextReader) ReadXmlSchema(TextReader) ReadXmlSchema(TextReader) ReadXmlSchema(TextReader)

Legge uno schema XML nella classe DataTable, utilizzando la classe TextReader specificata.Reads an XML schema into the DataTable using the specified TextReader.

ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader)

Legge uno schema XML nella classe DataTable, utilizzando la classe XmlReader specificata.Reads an XML schema into the DataTable using the specified XmlReader.

ReadXmlSerializable(XmlReader) ReadXmlSerializable(XmlReader) ReadXmlSerializable(XmlReader) ReadXmlSerializable(XmlReader)

Legge da un flusso XML.Reads from an XML stream.

RejectChanges() RejectChanges() RejectChanges() RejectChanges()

Annulla tutte le modifiche apportate alla tabella dal momento in cui è stata caricata oppure dall'ultima volta in cui è stato chiamato il metodo AcceptChanges().Rolls back all changes that have been made to the table since it was loaded, or the last time AcceptChanges() was called.

Reset() Reset() Reset() Reset()

Ripristina lo stato originale della classe DataTable.Resets the DataTable to its original state. Reimposta rimuove tutti i dati, gli indici, le relazioni e le colonne della tabella.Reset removes all data, indexes, relations, and columns of the table. Se un oggetto DataSet include un oggetto DataTable, la tabella farà ancora parte del DataSet dopo che viene reimpostata.If a DataSet includes a DataTable, the table will still be part of the DataSet after the table is reset.

Select() Select() Select() Select()

Ottiene una matrice di tutti gli oggetti DataRow.Gets an array of all DataRow objects.

Select(String) Select(String) Select(String) Select(String)

Ottiene una matrice di tutti gli oggetti DataRow che soddisfano i criteri di filtro.Gets an array of all DataRow objects that match the filter criteria.

Select(String, String) Select(String, String) Select(String, String) Select(String, String)

Ottiene una matrice di tutti gli oggetti DataRow che soddisfano i criteri di filtro, in base al criterio di ordinamento specificato.Gets an array of all DataRow objects that match the filter criteria, in the specified sort order.

Select(String, String, DataViewRowState) Select(String, String, DataViewRowState) Select(String, String, DataViewRowState) Select(String, String, DataViewRowState)

Ottiene una matrice di tutti gli oggetti DataRow che corrispondono al filtro in base all'ordinamento specificato e che corrispondono allo stato specificato.Gets an array of all DataRow objects that match the filter in the order of the sort that match the specified state.

ToString() ToString() ToString() ToString()

Ottiene le proprietà TableName e DisplayExpression se ne esiste una come stringa concatenata.Gets the TableName and DisplayExpression, if there is one as a concatenated string.

WriteXml(Stream) WriteXml(Stream) WriteXml(Stream) WriteXml(Stream)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto Stream specificato.Writes the current contents of the DataTable as XML using the specified Stream.

WriteXml(Stream, Boolean) WriteXml(Stream, Boolean) WriteXml(Stream, Boolean) WriteXml(Stream, Boolean)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto Stream specificato.Writes the current contents of the DataTable as XML using the specified Stream. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(Stream, XmlWriteMode) WriteXml(Stream, XmlWriteMode) WriteXml(Stream, XmlWriteMode) WriteXml(Stream, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable nel file specificato utilizzando l'oggetto XmlWriteMode specificato.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(Stream, XmlWriteMode, Boolean) WriteXml(Stream, XmlWriteMode, Boolean) WriteXml(Stream, XmlWriteMode, Boolean) WriteXml(Stream, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable nel file specificato utilizzando l'oggetto XmlWriteMode specificato.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(String) WriteXml(String) WriteXml(String) WriteXml(String)

Scrive i contenuti correnti della classe DataTable come XML tramite il file specificato.Writes the current contents of the DataTable as XML using the specified file.

WriteXml(String, Boolean) WriteXml(String, Boolean) WriteXml(String, Boolean) WriteXml(String, Boolean)

Scrive i contenuti correnti della classe DataTable come XML tramite il file specificato.Writes the current contents of the DataTable as XML using the specified file. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(String, XmlWriteMode) WriteXml(String, XmlWriteMode) WriteXml(String, XmlWriteMode) WriteXml(String, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per la classe DataTable utilizzando il file specificato e l'enumerazione XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(String, XmlWriteMode, Boolean) WriteXml(String, XmlWriteMode, Boolean) WriteXml(String, XmlWriteMode, Boolean) WriteXml(String, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per la classe DataTable utilizzando il file specificato e l'enumerazione XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(TextWriter) WriteXml(TextWriter) WriteXml(TextWriter) WriteXml(TextWriter)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto TextWriter specificato.Writes the current contents of the DataTable as XML using the specified TextWriter.

WriteXml(TextWriter, Boolean) WriteXml(TextWriter, Boolean) WriteXml(TextWriter, Boolean) WriteXml(TextWriter, Boolean)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto TextWriter specificato.Writes the current contents of the DataTable as XML using the specified TextWriter. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(TextWriter, XmlWriteMode) WriteXml(TextWriter, XmlWriteMode) WriteXml(TextWriter, XmlWriteMode) WriteXml(TextWriter, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto TextWriter e l'oggetto XmlWriteMode specificati.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(TextWriter, XmlWriteMode, Boolean) WriteXml(TextWriter, XmlWriteMode, Boolean) WriteXml(TextWriter, XmlWriteMode, Boolean) WriteXml(TextWriter, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto TextWriter e l'oggetto XmlWriteMode specificati.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(XmlWriter) WriteXml(XmlWriter) WriteXml(XmlWriter) WriteXml(XmlWriter)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto XmlWriter specificato.Writes the current contents of the DataTable as XML using the specified XmlWriter.

WriteXml(XmlWriter, Boolean) WriteXml(XmlWriter, Boolean) WriteXml(XmlWriter, Boolean) WriteXml(XmlWriter, Boolean)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto XmlWriter specificato.Writes the current contents of the DataTable as XML using the specified XmlWriter.

WriteXml(XmlWriter, XmlWriteMode) WriteXml(XmlWriter, XmlWriteMode) WriteXml(XmlWriter, XmlWriteMode) WriteXml(XmlWriter, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto XmlWriter e l'oggetto XmlWriteMode specificati.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(XmlWriter, XmlWriteMode, Boolean) WriteXml(XmlWriter, XmlWriteMode, Boolean) WriteXml(XmlWriter, XmlWriteMode, Boolean) WriteXml(XmlWriter, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto XmlWriter e l'oggetto XmlWriteMode specificati.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXmlSchema(Stream) WriteXmlSchema(Stream) WriteXmlSchema(Stream) WriteXmlSchema(Stream)

Scrive la struttura dei dati correnti della classe DataTable come schema XML nel flusso specificato.Writes the current data structure of the DataTable as an XML schema to the specified stream.

WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean)

Scrive la struttura dei dati correnti della classe DataTable come schema XML nel flusso specificato.Writes the current data structure of the DataTable as an XML schema to the specified stream. Per salvare lo schema per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXmlSchema(String) WriteXmlSchema(String) WriteXmlSchema(String) WriteXmlSchema(String)

Scrive la struttura dei dati correnti della classe DataTable come schema XML nel file specificato.Writes the current data structure of the DataTable as an XML schema to the specified file.

WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean)

Scrive la struttura dei dati correnti della classe DataTable come schema XML nel file specificato.Writes the current data structure of the DataTable as an XML schema to the specified file. Per salvare lo schema per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter)

Scrive la struttura dei dati correnti della classe DataTable come schema XML utilizzando la classe TextWriter specificata.Writes the current data structure of the DataTable as an XML schema using the specified TextWriter.

WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean)

Scrive la struttura dei dati correnti della classe DataTable come schema XML utilizzando la classe TextWriter specificata.Writes the current data structure of the DataTable as an XML schema using the specified TextWriter. Per salvare lo schema per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter)

Scrive la struttura dei dati correnti della classe DataTable come schema XML utilizzando la classe XmlWriter specificata.Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter.

WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean)

Scrive la struttura dei dati correnti della classe DataTable come schema XML utilizzando la classe XmlWriter specificata.Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter. Per salvare lo schema per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.To save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

Eventi

ColumnChanged ColumnChanged ColumnChanged ColumnChanged

Viene generato una volta modificato il valore per l'oggetto DataColumn specificato in un oggetto DataRow.Occurs after a value has been changed for the specified DataColumn in a DataRow.

ColumnChanging ColumnChanging ColumnChanging ColumnChanging

Viene generato quando è in corso la modifica di un valore per l'oggetto DataColumn specificato in un oggetto DataRow.Occurs when a value is being changed for the specified DataColumn in a DataRow.

Disposed Disposed Disposed Disposed

Aggiunge un gestore eventi per restare in attesa dell'evento Disposed sul componente.Adds an event handler to listen to the Disposed event on the component.

(Inherited from MarshalByValueComponent)
Initialized Initialized Initialized Initialized

Si verifica dopo l'inizializzazione dell'oggetto DataTable.Occurs after the DataTable is initialized.

RowChanged RowChanged RowChanged RowChanged

Si verifica dopo la modifica di un oggetto DataRow.Occurs after a DataRow has been changed successfully.

RowChanging RowChanging RowChanging RowChanging

Si verifica durante la modifica di un oggetto DataRow.Occurs when a DataRow is changing.

RowDeleted RowDeleted RowDeleted RowDeleted

Viene generato dopo l'eliminazione di una riga nella tabella.Occurs after a row in the table has been deleted.

RowDeleting RowDeleting RowDeleting RowDeleting

Viene generato prima dell'eliminazione di una riga nella tabella.Occurs before a row in the table is about to be deleted.

TableCleared TableCleared TableCleared TableCleared

Si verifica dopo che un oggetto DataTable viene cancellato.Occurs after a DataTable is cleared.

TableClearing TableClearing TableClearing TableClearing

Si verifica se un oggetto DataTable viene cancellato.Occurs when a DataTable is cleared.

TableNewRow TableNewRow TableNewRow TableNewRow

Si verifica quando viene inserito un nuovo oggetto DataRow.Occurs when a new DataRow is inserted.

Implementazioni dell'interfaccia esplicita

IListSource.ContainsListCollection IListSource.ContainsListCollection IListSource.ContainsListCollection IListSource.ContainsListCollection

Per una descrizione di questo membro, vedere ContainsListCollection.For a description of this member, see ContainsListCollection.

IListSource.GetList() IListSource.GetList() IListSource.GetList() IListSource.GetList()

Per una descrizione di questo membro, vedere GetList().For a description of this member, see GetList().

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Popola un oggetto di informazioni di serializzazione con i dati necessari per serializzare l'istanza di DataTable.Populates a serialization information object with the data needed to serialize the DataTable.

IXmlSerializable.GetSchema() IXmlSerializable.GetSchema() IXmlSerializable.GetSchema() IXmlSerializable.GetSchema()

Per una descrizione di questo membro, vedere GetSchema().For a description of this member, see GetSchema().

IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader)

Per una descrizione di questo membro, vedere ReadXml(XmlReader).For a description of this member, see ReadXml(XmlReader).

IXmlSerializable.WriteXml(XmlWriter) IXmlSerializable.WriteXml(XmlWriter) IXmlSerializable.WriteXml(XmlWriter) IXmlSerializable.WriteXml(XmlWriter)

Per una descrizione di questo membro, vedere WriteXml(XmlWriter).For a description of this member, see WriteXml(XmlWriter).

Metodi di estensione

AsDataView(DataTable) AsDataView(DataTable) AsDataView(DataTable) AsDataView(DataTable)

Crea e restituisce un oggetto DataView che supporta LINQ.Creates and returns a LINQ-enabled DataView object.

AsEnumerable(DataTable) AsEnumerable(DataTable) AsEnumerable(DataTable) AsEnumerable(DataTable)

Restituisce un oggetto IEnumerable<T>, in cui il parametro generico T è DataRow.Returns an IEnumerable<T> object, where the generic parameter T is DataRow. Questo oggetto può essere usato in un'espressione LINQLINQ o in una query basata su metodo.This object can be used in a LINQLINQ expression or method query.

Si applica a

Thread safety

Questo tipo è sicuro per le operazioni di lettura multithread.This type is safe for multithreaded read operations. È necessario sincronizzare le operazioni di scrittura.You must synchronize any write operations.

Vedi anche