public int GetRowCount()
        {
            int num = 0;

            ViewInfoTraverser.ViewInfoEnumeratorPosition position = this.Position;
            this.Reset();
            while (this.MoveNext())
            {
                ++num;
            }
            this.Position = position;
            return(num);
        }
 public bool MoveNext()
 {
     ViewInfoTraverser.ViewInfoEnumeratorPosition position = this.Position;
     while (this.MoveNextCore())
     {
         if (this.OnRowVisible())
         {
             return(true);
         }
     }
     this.Position = position;
     return(false);
 }
 public bool IsLastRow(GridViewRowInfo row)
 {
     ViewInfoTraverser.ViewInfoEnumeratorPosition position = this.Position;
     this.GoToRow(row);
     while (this.MoveNext())
     {
         if (this.Current.CanBeCurrent)
         {
             this.Position = position;
             return(false);
         }
     }
     this.Position = position;
     return(true);
 }
 public bool IsFirstRow(GridViewRowInfo row)
 {
     ViewInfoTraverser.ViewInfoEnumeratorPosition position = this.Position;
     this.Reset();
     while (this.MoveNext())
     {
         if (this.Current.CanBeCurrent)
         {
             bool flag = this.Current == row;
             this.Position = position;
             return(flag);
         }
     }
     this.Position = position;
     return(false);
 }
        public GridViewRowInfo GoToRowIndex(int rowIndex)
        {
            ViewInfoTraverser.ViewInfoEnumeratorPosition position = this.Position;
            int num = 0;

            this.Reset();
            while (this.MoveNext())
            {
                if (num == rowIndex)
                {
                    return(this.Current);
                }
                ++num;
            }
            this.Position = position;
            return((GridViewRowInfo)null);
        }
        public int GoToRow(GridViewRowInfo row)
        {
            ViewInfoTraverser.ViewInfoEnumeratorPosition position = this.Position;
            int num = 0;

            this.Reset();
            while (this.MoveNext())
            {
                if (this.Current == row)
                {
                    return(num);
                }
                ++num;
            }
            this.Position = position;
            return(-1);
        }
 public ViewInfoTraverser(
     ViewInfoTraverser.ViewInfoEnumeratorPosition position)
 {
     this.Position = position;
 }