DataRow Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a row of data in a DataTable.
public ref class DataRow
public class DataRow
[System.Serializable]
public class DataRow
type DataRow = class
[<System.Serializable>]
type DataRow = class
Public Class DataRow
- Inheritance
-
DataRow
- Attributes
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 New DataTable("Names")
' Add three column objects to the table.
Dim idColumn As New DataColumn()
idColumn.DataType = System.Type.GetType("System.Int32")
idColumn.ColumnName = "id"
idColumn.AutoIncrement = True
namesTable.Columns.Add(idColumn)
Dim fNameColumn As New DataColumn()
fNameColumn.DataType = System.Type.GetType("System.String")
fNameColumn.ColumnName = "Fname"
fNameColumn.DefaultValue = "Fname"
namesTable.Columns.Add(fNameColumn)
Dim lNameColumn As 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[] 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
DataRow(DataRowBuilder) |
Initializes a new instance of the DataRow class using the specified builder. Only for internal usage. |
Properties
HasErrors |
Gets a value that indicates whether there are errors in a row. |
Item[DataColumn, DataRowVersion] |
Gets the specified version of data stored in the specified DataColumn. |
Item[DataColumn] |
Gets or sets the data stored in the specified DataColumn. |
Item[Int32, DataRowVersion] |
Gets the data stored in the column, specified by index and version of the data to retrieve. |
Item[Int32] |
Gets or sets the data stored in the column specified by index. |
Item[String, DataRowVersion] |
Gets the specified version of data stored in the named column. |
Item[String] |
Gets or sets the data stored in the column specified by name. |
ItemArray |
Gets or sets all the values for this row through an array. |
RowError |
Gets or sets the custom error description for a row. |
RowState |
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
AcceptChanges() |
Commits all the changes made to this row since the last time AcceptChanges() was called. |
BeginEdit() |
Starts an edit operation on a DataRow object. |
CancelEdit() |
Cancels the current edit on the row. |
ClearErrors() |
Clears the errors for the row. This includes the RowError and errors set with SetColumnError(Int32, String). |
Delete() |
Deletes the DataRow. |
EndEdit() |
Ends the edit occurring on the row. |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetChildRows(DataRelation, DataRowVersion) |
Gets the child rows of a DataRow using the specified DataRelation, and DataRowVersion. |
GetChildRows(DataRelation) |
Gets the child rows of this DataRow using the specified DataRelation. |
GetChildRows(String, DataRowVersion) |
Gets the child rows of a DataRow using the specified RelationName of a DataRelation, and DataRowVersion. |
GetChildRows(String) |
Gets the child rows of a DataRow using the specified RelationName of a DataRelation. |
GetColumnError(DataColumn) |
Gets the error description of the specified DataColumn. |
GetColumnError(Int32) |
Gets the error description for the column specified by index. |
GetColumnError(String) |
Gets the error description for a column, specified by name. |
GetColumnsInError() |
Gets an array of columns that have errors. |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetParentRow(DataRelation, DataRowVersion) |
Gets the parent row of a DataRow using the specified DataRelation, and DataRowVersion. |
GetParentRow(DataRelation) |
Gets the parent row of a DataRow using the specified DataRelation. |
GetParentRow(String, DataRowVersion) |
Gets the parent row of a DataRow using the specified RelationName of a DataRelation, and DataRowVersion. |
GetParentRow(String) |
Gets the parent row of a DataRow using the specified RelationName of a DataRelation. |
GetParentRows(DataRelation, DataRowVersion) |
Gets the parent rows of a DataRow using the specified DataRelation, and DataRowVersion. |
GetParentRows(DataRelation) |
Gets the parent rows of a DataRow using the specified DataRelation. |
GetParentRows(String, DataRowVersion) |
Gets the parent rows of a DataRow using the specified RelationName of a DataRelation, and DataRowVersion. |
GetParentRows(String) |
Gets the parent rows of a DataRow using the specified RelationName of a DataRelation. |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
HasVersion(DataRowVersion) |
Gets a value that indicates whether a specified version exists. |
IsNull(DataColumn, DataRowVersion) |
Gets a value that indicates whether the specified DataColumn and DataRowVersion contains a null value. |
IsNull(DataColumn) |
Gets a value that indicates whether the specified DataColumn contains a null value. |
IsNull(Int32) |
Gets a value that indicates whether the column at the specified index contains a null value. |
IsNull(String) |
Gets a value that indicates whether the named column contains a null value. |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
RejectChanges() |
Rejects all changes made to the row since AcceptChanges() was last called. |
SetAdded() | |
SetColumnError(DataColumn, String) |
Sets the error description for a column specified as a DataColumn. |
SetColumnError(Int32, String) |
Sets the error description for a column specified by index. |
SetColumnError(String, String) |
Sets the error description for a column specified by name. |
SetModified() | |
SetNull(DataColumn) |
Sets the value of the specified DataColumn to a null value. |
SetParentRow(DataRow, DataRelation) |
Sets the parent row of a DataRow with specified new parent DataRow and DataRelation. |
SetParentRow(DataRow) |
Sets the parent row of a DataRow with specified new parent DataRow. |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Extension Methods
Field<T>(DataRow, DataColumn, DataRowVersion) |
Provides strongly-typed access to each of the column values in the specified row. The Field<T>(DataRow, DataColumn, DataRowVersion) method also supports nullable types. |
Field<T>(DataRow, DataColumn) |
Provides strongly-typed access to each of the column values in the specified row. The Field<T>(DataRow, DataColumn) method also supports nullable types. |
Field<T>(DataRow, Int32, DataRowVersion) |
Provides strongly-typed access to each of the column values in the specified row. The Field<T>(DataRow, Int32, DataRowVersion) method also supports nullable types. |
Field<T>(DataRow, Int32) |
Provides strongly-typed access to each of the column values in the specified row. The Field<T>(DataRow, Int32) method also supports nullable types. |
Field<T>(DataRow, String, DataRowVersion) |
Provides strongly-typed access to each of the column values in the specified row. The Field<T>(DataRow, String, DataRowVersion) method also supports nullable types. |
Field<T>(DataRow, String) |
Provides strongly-typed access to each of the column values in the specified row. The Field<T>(DataRow, String) method also supports nullable types. |
SetField<T>(DataRow, DataColumn, T) |
Sets a new value for the specified column in the DataRow. The SetField<T>(DataRow, DataColumn, T) method also supports nullable types. |
SetField<T>(DataRow, Int32, T) |
Sets a new value for the specified column in the DataRow the method is called on. The SetField<T>(DataRow, Int32, T) method also supports nullable types. |
SetField<T>(DataRow, String, T) |
Sets a new value for the specified column in the DataRow. The SetField<T>(DataRow, String, T) method also supports nullable types. |
Applies to
Thread Safety
This type is safe for multithreaded read operations. You must synchronize any write operations.