System.Xml.XPathNodePointer.NextColumn C# (CSharp) Method

NextColumn() private method

private NextColumn ( DataRow row, DataColumn col, bool fAttribute ) : DataColumn
row System.Data.DataRow
col System.Data.DataColumn
fAttribute bool
return System.Data.DataColumn
        internal DataColumn NextColumn(DataRow row, DataColumn col, bool fAttribute)
        {
            if (row.RowState == DataRowState.Deleted)
                return null;

            DataTable table = row.Table;
            DataColumnCollection columns = table.Columns;
            int iColumn = (col != null) ? col.Ordinal + 1 : 0;
            int cColumns = columns.Count;
            DataRowVersion rowVersion = (row.RowState == DataRowState.Detached) ? DataRowVersion.Proposed : DataRowVersion.Current;

            for (; iColumn < cColumns; iColumn++)
            {
                DataColumn c = columns[iColumn];
                if (!_doc.IsNotMapped(c) && (c.ColumnMapping == MappingType.Attribute) == fAttribute && !Convert.IsDBNull(row[c, rowVersion]))
                    return c;
            }

            return null;
        }