System.Data.Tests.DataViewTest2.GetResultRows C# (CSharp) Method

GetResultRows() private method

private GetResultRows ( DataTable dt, DataRowState State ) : DataRow[]
dt DataTable
State DataRowState
return DataRow[]
        private DataRow[] GetResultRows(DataTable dt, DataRowState State)
        {
            //get expected rows
            ArrayList al = new ArrayList();
            DataRowVersion drVer = DataRowVersion.Current;

            //From MSDN -	The row the default version for the current DataRowState.
            //				For a DataRowState value of Added, Modified or Current, 
            //				the default version is Current. 
            //				For a DataRowState of Deleted, the version is Original.
            //				For a DataRowState value of Detached, the version is Proposed.

            if (((State & DataRowState.Added) > 0)
                | ((State & DataRowState.Modified) > 0)
                | ((State & DataRowState.Unchanged) > 0))
                drVer = DataRowVersion.Current;
            if ((State & DataRowState.Deleted) > 0
                | (State & DataRowState.Detached) > 0)
                drVer = DataRowVersion.Original;

            foreach (DataRow dr in dt.Rows)
            {
                if (dr.HasVersion(drVer)
                    //&& ((int)dr["ParentId", drVer] == 1) 
                    && ((dr.RowState & State) > 0)
                    )
                    al.Add(dr);
            }
            DataRow[] result = (DataRow[])al.ToArray((typeof(DataRow)));
            return result;
        }