DataRow.RowState Property
Gets the current state of the row with regard to its relationship to the DataRowCollection.
Assembly: System.Data (in System.Data.dll)
The value of the RowState depends on two factors: the kind of operation has been performed on the row, and whether AcceptChanges has been called on the DataRow.
The following example first creates a new DataTable with one column, and then creates a single DataRow. As the DataRow is created, added, modified, and deleted, its RowState is printed.
private void DemonstrateRowState() { // Run a function to create a DataTable with one column. DataTable table = MakeTable(); DataRow row; // Create a new DataRow. row = table.NewRow(); // Detached row. Console.WriteLine("New Row " + row.RowState); table.Rows.Add(row); // New row. Console.WriteLine("AddRow " + row.RowState); table.AcceptChanges(); // Unchanged row. Console.WriteLine("AcceptChanges " + row.RowState); row["FirstName"] = "Scott"; // Modified row. Console.WriteLine("Modified " + row.RowState); row.Delete(); // Deleted row. Console.WriteLine("Deleted " + row.RowState); } private DataTable MakeTable() { // Make a simple table with one column. DataTable table = new DataTable("table"); DataColumn dcFirstName = new DataColumn( "FirstName", Type.GetType("System.String")); table.Columns.Add(dcFirstName); return table; }
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
- 6/23/2009
- Cornan The Iowan
- 4/2/2010
- Thomas Lee
Then, i want to do something with the selected rows in the DGV. An exception occured saying that i cannot access deleted row information. As all elements in the DataGridView.SelectedRows Collection are of the type DataGridViewRow i do not have access to the rowState property. If you want to prevent the exception when accessing the SelectedRows collection you have to do something like this:
For Each dr As DataGridViewRow In DataGridView1.SelectedRows
If Not CType(dr.DataBoundItem, DataRowView) Is Nothing AndAlso _
CType(dr.DataBoundItem, DataRowView).Row.RowState = DataRowState.Deleted Then _
lngListOfIDs.Add(CLng(CType(dr.DataBoundItem, DataRowView).Row.Item("ID")))
Next
KR
- 2/2/2010
- Luxus Chris
- 4/2/2010
- Thomas Lee