private bool First() { if(_Table._RowLink.First != -1) { RowIndex = 0; _CurrentHeader = new sRowHeader( _Table._RowLink.First, ref Stream ); ReadData(); _IsNew = false; _IsPrimed = true; return true; } _CurrentHeader = null; return false; }
public bool Read() { _IsDeleted = false; if( !_IsPrimed ) return First(); RowIndex++; sRowHeader nextRow = _CurrentHeader.GetNext( ref Stream ); if(nextRow == null) return false; _CurrentHeader = nextRow; ReadData(); _IsNew = false; return true; }
public bool StartNew() { RowData.Clear(); for( int i = 0; i < _Table.ColumnCount; i++ ) RowData.Add( null ); _CurrentHeader = new sRowHeader(); _CurrentHeader._MyOffset = Reader.BaseStream.Length; _CurrentHeader._PrevOffset = _Table._RowLink.Last; _IsNew = true; return true; }
public bool Prev() { _IsDeleted = false; sRowHeader prevRow = _CurrentHeader.GetPrev( ref Stream ); if(prevRow == null) return false; _CurrentHeader = prevRow; ReadData(); _IsNew = false; RowIndex--; return true; }