DataRow Class

Definition

Represents a row of data in a DataTable.

public class DataRow
Inheritance
DataRow

Inherited Members

System.Object

Examples

The following example creates a new DataRow by calling the NewRow method of the DataTable object.

private void CreateNewDataRow()
{
    // Use the MakeTable function below to create a new table.
    DataTable table;
    table = MakeNamesTable();

    // Once a table has been created, use the 
    // NewRow to create a DataRow.
    DataRow row;
    row = table.NewRow();

    // Then add the new row to the collection.
    row["fName"] = "John";
    row["lName"] = "Smith";
    table.Rows.Add(row);

    foreach(DataColumn column in table.Columns)
        Console.WriteLine(column.ColumnName);
    dataGrid1.DataSource=table;
}

private DataTable MakeNamesTable()
{
    // Create a new DataTable titled 'Names.'
    DataTable namesTable = new DataTable("Names"); 

    // Add three column objects to the table.
    DataColumn idColumn = new  DataColumn();
    idColumn.DataType = System.Type.GetType("System.Int32");
    idColumn.ColumnName = "id";
    idColumn.AutoIncrement = true;
    namesTable.Columns.Add(idColumn);

    DataColumn fNameColumn = new DataColumn();
    fNameColumn.DataType = System.Type.GetType("System.String");
    fNameColumn.ColumnName = "Fname";
    fNameColumn.DefaultValue = "Fname";
    namesTable.Columns.Add(fNameColumn);

    DataColumn lNameColumn = new DataColumn();
    lNameColumn.DataType = System.Type.GetType("System.String");
    lNameColumn.ColumnName = "LName";
    namesTable.Columns.Add(lNameColumn);

    // Create an array for DataColumn objects.
    DataColumn [] keys = new DataColumn [1];
    keys[0] = idColumn;
    namesTable.PrimaryKey = keys;

    // Return the new DataTable.
    return namesTable;
}
Private Sub CreateNewDataRow()
    ' Use the MakeTable function below to create a new table.
    Dim table As DataTable
    table = MakeNamesTable()

    ' Once a table has been created, use the 
    ' NewRow to create a DataRow.
    Dim row As DataRow 
    row = table.NewRow()

    ' Then add the new row to the collection.
    row("fName") = "John"
    row("lName") = "Smith"
    table.Rows.Add(row)
    
    Dim column As DataColumn
    For Each column in table.Columns
       Console.WriteLine(column.ColumnName)
    Next
    DataGrid1.DataSource=table
 End Sub
 
 Private Function MakeNamesTable() As DataTable
    ' Create a new DataTable titled 'Names.'
    Dim namesTable As DataTable = new DataTable("Names") 

    ' Add three column objects to the table.
    Dim idColumn As DataColumn = new  DataColumn()
    idColumn.DataType = System.Type.GetType("System.Int32")
    idColumn.ColumnName = "id"
    idColumn.AutoIncrement = True
    namesTable.Columns.Add(idColumn)

    Dim fNameColumn As DataColumn = New DataColumn()
    fNameColumn.DataType = System.Type.GetType("System.String")
    fNameColumn.ColumnName = "Fname"
    fNameColumn.DefaultValue = "Fname"
    namesTable.Columns.Add(fNameColumn)

    Dim lNameColumn As DataColumn = new DataColumn()
    lNameColumn.DataType = System.Type.GetType("System.String")
    lNameColumn.ColumnName = "LName"
    namesTable.Columns.Add(lNameColumn)

    ' Create an array for DataColumn objects.
    Dim keys(0) As DataColumn 
    keys(0) = idColumn
    namesTable.PrimaryKey = keys

    ' Return the new DataTable.
    MakeNamesTable = namesTable
 End Function

Remarks

The DataRow and DataColumn objects are primary components of a DataTable. Use the DataRow object and its properties and methods to retrieve and evaluate; and insert, delete, and update the values in the DataTable. The DataRowCollection represents the actual DataRow objects in the DataTable, and the DataColumnCollection contains the DataColumn objects that describe the schema of the DataTable. Use the overloaded Item[String, DataRowVersion] property to return or set the value of a DataColumn.

Use the HasVersion and IsNull properties to determine the status of a particular row value, and the RowState property to determine the state of the row relative to its parent DataTable.

To create a new DataRow, use the NewRow method of the DataTable object. After creating a new DataRow, use the Add method to add the new DataRow to the DataRowCollection. Finally, call the AcceptChanges method of the DataTable object to confirm the addition. For more information about adding data to a DataTable, see Adding Data to a DataTable.

You can delete a DataRow from the DataRowCollection by calling the Remove method of the DataRowCollection, or by calling the Delete method of the DataRow object. The Remove method removes the row from the collection. In contrast, Delete marks the DataRow for removal. The actual removal occurs when you call AcceptChanges method. By calling Delete, you can programmatically check which rows are marked for removal before actually deleting them. For more information, see DataRow Deletion.

Constructors

Data<wbr>Row(Data<wbr>Row<wbr>Builder)

Initializes a new instance of the DataRow. Constructs a row from the builder. Only for internal usage..

Properties

Has<wbr>Errors

Gets a value that indicates whether there are errors in a row.

Item[Data<wbr>Column]

Gets or sets the data stored in the specified DataColumn.

Item[Int32]

Gets or sets the data stored in the column specified by index.

Item[String]

Gets or sets the data stored in the column specified by name.

Item[Data<wbr>Column, Data<wbr>Row<wbr>Version]

Gets the specified version of data stored in the specified DataColumn.

Item[Int32, Data<wbr>Row<wbr>Version]

Gets the data stored in the column, specified by index and version of the data to retrieve.

Item[String, Data<wbr>Row<wbr>Version]

Gets the specified version of data stored in the named column.

Item<wbr>Array

Gets or sets all the values for this row through an array.

Row<wbr>Error

Gets or sets the custom error description for a row.

Row<wbr>State

Gets the current state of the row with regard to its relationship to the DataRowCollection.

Table

Gets the DataTable for which this row has a schema.

Methods

Accept<wbr>Changes()

Commits all the changes made to this row since the last time AcceptChanges() was called.

Begin<wbr>Edit()

Starts an edit operation on a DataRow object.

Cancel<wbr>Edit()

Cancels the current edit on the row.

Clear<wbr>Errors()

Clears the errors for the row. This includes the RowError and errors set with SetColumnError(Int32, String).

Delete()

Deletes the DataRow.

End<wbr>Edit()

Ends the edit occurring on the row.

Get<wbr>Child<wbr>Rows(Data<wbr>Relation)

Gets the child rows of this DataRow using the specified DataRelation.

Get<wbr>Child<wbr>Rows(String)

Gets the child rows of a DataRow using the specified RelationName of a DataRelation.

Get<wbr>Child<wbr>Rows(Data<wbr>Relation, Data<wbr>Row<wbr>Version)

Gets the child rows of a DataRow using the specified DataRelation, and DataRowVersion.

Get<wbr>Child<wbr>Rows(String, Data<wbr>Row<wbr>Version)

Gets the child rows of a DataRow using the specified RelationName of a DataRelation, and DataRowVersion.

Get<wbr>Column<wbr>Error(String)

Gets the error description for a column, specified by name.

Get<wbr>Column<wbr>Error(Data<wbr>Column)

Gets the error description of the specified DataColumn.

Get<wbr>Column<wbr>Error(Int32)

Gets the error description for the column specified by index.

Get<wbr>Columns<wbr>InError()

Gets an array of columns that have errors.

Get<wbr>Parent<wbr>Row(Data<wbr>Relation)

Gets the parent row of a DataRow using the specified DataRelation.

Get<wbr>Parent<wbr>Row(String)

Gets the parent row of a DataRow using the specified RelationName of a DataRelation.

Get<wbr>Parent<wbr>Row(Data<wbr>Relation, Data<wbr>Row<wbr>Version)

Gets the parent row of a DataRow using the specified DataRelation, and DataRowVersion.

Get<wbr>Parent<wbr>Row(String, Data<wbr>Row<wbr>Version)

Gets the parent row of a DataRow using the specified RelationName of a DataRelation, and DataRowVersion.

Get<wbr>Parent<wbr>Rows(Data<wbr>Relation, Data<wbr>Row<wbr>Version)

Gets the parent rows of a DataRow using the specified DataRelation, and DataRowVersion.

Get<wbr>Parent<wbr>Rows(Data<wbr>Relation)

Gets the parent rows of a DataRow using the specified DataRelation.

Get<wbr>Parent<wbr>Rows(String)

Gets the parent rows of a DataRow using the specified RelationName of a DataRelation.

Get<wbr>Parent<wbr>Rows(String, Data<wbr>Row<wbr>Version)

Gets the parent rows of a DataRow using the specified RelationName of a DataRelation, and DataRowVersion.

Has<wbr>Version(Data<wbr>Row<wbr>Version)

Gets a value that indicates whether a specified version exists.

Is<wbr>Null(Data<wbr>Column)

Gets a value that indicates whether the specified DataColumn contains a null value.

Is<wbr>Null(Int32)

Gets a value that indicates whether the column at the specified index contains a null value.

Is<wbr>Null(String)

Gets a value that indicates whether the named column contains a null value.

Is<wbr>Null(Data<wbr>Column, Data<wbr>Row<wbr>Version)

Gets a value that indicates whether the specified DataColumn and DataRowVersion contains a null value.

Reject<wbr>Changes()

Rejects all changes made to the row since AcceptChanges() was last called.

Set<wbr>Added()

Changes the System.Data.DataRow.Rowstate of a DataRow to Added.

Set<wbr>Column<wbr>Error(Data<wbr>Column, String)

Sets the error description for a column specified as a DataColumn.

Set<wbr>Column<wbr>Error(Int32, String)

Sets the error description for a column specified by index.

Set<wbr>Column<wbr>Error(String, String)

Sets the error description for a column specified by name.

Set<wbr>Modified()

Changes the System.Data.DataRow.Rowstate of a DataRow to Modified.

Set<wbr>Null(Data<wbr>Column)

Sets the value of the specified DataColumn to a null value.

Set<wbr>Parent<wbr>Row(Data<wbr>Row)

Sets the parent row of a DataRow with specified new parent DataRow.

Set<wbr>Parent<wbr>Row(Data<wbr>Row, Data<wbr>Relation)

Sets the parent row of a DataRow with specified new parent DataRow and DataRelation.

Extension Methods

Field<T>(DataRow, DataColumn)
Field<T>(DataRow, DataColumn, DataRowVersion)
Field<T>(DataRow, Int32)
Field<T>(DataRow, Int32, DataRowVersion)
Field<T>(DataRow, String)
Field<T>(DataRow, String, DataRowVersion)
SetField<T>(DataRow, DataColumn, T)
SetField<T>(DataRow, Int32, T)
SetField<T>(DataRow, String, T)

Thread Safety

This type is safe for multithreaded read operations. You must synchronize any write operations.