public void RowStateFilter()
{
/*
Added A new row. 4
CurrentRows Current rows including unchanged, new, and modified rows. 22
Deleted A deleted row. 8
ModifiedCurrent A current version, which is a modified version of original data (see ModifiedOriginal). 16
ModifiedOriginal The original version (although it has since been modified and is available as ModifiedCurrent). 32
None None. 0
OriginalRows Original rows including unchanged and deleted rows. 42
Unchanged An unchanged row. 2
*/
//DataRowView[] drvResult = null;
ArrayList al = new ArrayList();
DataTable dt = DataProvider.CreateParentDataTable();
//create the dataview for the table
DataView dv = new DataView(dt);
DataRow[] drResult;
dt.Rows[0].Delete();
dt.Rows[1]["ParentId"] = 1;
dt.Rows[2]["ParentId"] = 1;
dt.Rows[3].Delete();
dt.Rows.Add(new object[] { 1, "A", "B" });
dt.Rows.Add(new object[] { 1, "C", "D" });
dt.Rows.Add(new object[] { 1, "E", "F" });
//---------- Added --------
dv.RowStateFilter = DataViewRowState.Added;
drResult = GetResultRows(dt, DataRowState.Added);
// Added
Assert.Equal(true, CompareSortedRowsByParentId(dv, drResult));
//---------- CurrentRows --------
dv.RowStateFilter = DataViewRowState.CurrentRows;
drResult = GetResultRows(dt, DataRowState.Unchanged | DataRowState.Added | DataRowState.Modified);
// CurrentRows
Assert.Equal(true, CompareSortedRowsByParentId(dv, drResult));
//---------- ModifiedCurrent --------
dv.RowStateFilter = DataViewRowState.ModifiedCurrent;
drResult = GetResultRows(dt, DataRowState.Modified);
// ModifiedCurrent
Assert.Equal(true, CompareSortedRowsByParentId(dv, drResult));
//---------- ModifiedOriginal --------
dv.RowStateFilter = DataViewRowState.ModifiedOriginal;
drResult = GetResultRows(dt, DataRowState.Modified);
// ModifiedOriginal
Assert.Equal(true, CompareSortedRowsByParentId(dv, drResult));
//---------- Deleted --------
dv.RowStateFilter = DataViewRowState.Deleted;
drResult = GetResultRows(dt, DataRowState.Deleted);
// Deleted
Assert.Equal(true, CompareSortedRowsByParentId(dv, drResult));
/*
//---------- OriginalRows --------
dv.RowStateFilter = DataViewRowState.OriginalRows ;
drResult = GetResultRows(dt,DataRowState.Unchanged | DataRowState.Deleted );
// OriginalRows
Assert.Equal(true , CompareSortedRowsByParentId(dv,drResult));
*/
}