public override string TitleForRow(FrozenHeadersGridView gridView, int row)
 {
     if (TitleForRowDelegate == null)
         return "";
     else
         return TitleForRowDelegate(gridView, row);
 }
 public override UIView ViewForCell(FrozenHeadersGridView gridView, Point cell)
 {
     if (ViewForCellDelegate == null)
         return null;
     else
         return ViewForCellDelegate(gridView, cell);
 }
 public override string TitleForColumn(FrozenHeadersGridView gridView, int column)
 {
     if (TitleForColumnDelegate == null)
         return "";
     else
         return TitleForColumnDelegate(gridView, column);
 }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            View.Frame = UIScreen.MainScreen.Bounds;
            var gridView = new FrozenHeadersGridView(View.Bounds);
            gridView.Delegate = this;
            gridView.ContentView.HorizontalGridlines.Color = UIColor.LightGray;
            gridView.ContentView.VerticalGridlines.Color = UIColor.LightGray;
            gridView.TintColor = GridTintColor;

            var cornerView = new CornerView(GridTintColor);
            cornerView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth;
            gridView.HeaderCornerView.AddSubview(cornerView);

            View.AddSubview(gridView);
        }
        public void LayoutSubviews_WithFrameLargerThanMinimumColumnWidth_SetsTheCellSizeBasedOnFrameWidth()
        {
            var gridView = new FrozenHeadersGridView(new RectangleF(0, 0, 550, 100));
            gridView.MinimumColumnWidth = 150;
            gridView.HeaderColumnWidth = 50;
            gridView.Delegate = new FrozenHeadersGridViewDelegateMock { ColumnCount = 2, RowCount = 1};

            gridView.LayoutSubviews();

            Assert.AreEqual(250, gridView.ContentView.CellSize.Width, "View Width");
        }
        public void LayoutSubviews_WithFrameSmallerThanMinimumRowHeight_SetsTheCellSizeToMinimumRowHeight()
        {
            var gridView = new FrozenHeadersGridView(new RectangleF(0, 0, 100, 100));
            gridView.RowHeight = 80;
            gridView.Delegate = new FrozenHeadersGridViewDelegateMock { ColumnCount = 1, RowCount = 1};

            gridView.LayoutSubviews();

            Assert.AreEqual(80, gridView.ContentView.CellSize.Height, "View Height");
        }
        public void LayoutSubviews_WithFrameSmallerThanMinimumColumnWidth_SetsTheCellSizeToMinimumColumnWidth()
        {
            var gridView = new FrozenHeadersGridView(new RectangleF(0, 0, 100, 100));
            gridView.MinimumColumnWidth = 150;
            gridView.Delegate = new FrozenHeadersGridViewDelegateMock { ColumnCount = 1, RowCount = 1};

            gridView.LayoutSubviews();

            Assert.AreEqual(150, gridView.ContentView.CellSize.Width);
        }
 FrozenHeadersGridView CreateFrozenHeadersGridViewWithDelegate(float width = 100, float height = 100, int columns = 3, int rows = 4)
 {
     var gridView = new FrozenHeadersGridView(new RectangleF(0, 0, width, height));
     var mockDelegate = new FrozenHeadersGridViewDelegateMock { ColumnCount = columns, RowCount = rows };
     gridView.Delegate = mockDelegate;
     return gridView;
 }
 public override int NumberOfRows(FrozenHeadersGridView gridView)
 {
     return RowCount;
 }
 public override int NumberOfColumns(FrozenHeadersGridView gridView)
 {
     return ColumnCount;
 }
 public UIView ViewForCell(FrozenHeadersGridView gridView, Point cell)
 {
     var view = new GridItemView();
     view.BackgroundColor = UIColor.White;
     var label = new UILabel(view.Bounds);
     label.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
     label.TextAlignment = UITextAlignment.Center;
     label.Text = String.Format("Cell {0}{1}", ColumnTitles [cell.X], cell.Y + 1);
     label.TextColor = UIColor.DarkTextColor;
     view.AddSubview(label);
     return view;
 }
 public string TitleForRow(FrozenHeadersGridView gridView, int row)
 {
     return string.Format("Row {0}", row + 1);
 }
 public string TitleForColumn(FrozenHeadersGridView gridView, int column)
 {
     return string.Format("Column {0}", ColumnTitles [column]);
 }
 public int NumberOfRows(FrozenHeadersGridView gridView)
 {
     return 25;
 }
 public int NumberOfColumns(FrozenHeadersGridView gridView)
 {
     return ColumnTitles.Length;
 }