public bool PrepareCellForEdit(FlexGrid sender, GridPanel panel, CellRange range)
        {
            FlexGrid g   = (FlexGrid)View.ViewWithTag(1);
            nuint    i   = (nuint)range.Col;
            Column   col = g.Columns.GetItem <Column>(i);

            if (col.Binding == "Hired")
            {
                UITextField  editor = (UITextField)g.ActiveEditor;
                UIDatePicker picker = new UIDatePicker();
                NSDate       d      = (NSDate)g.GetCellData(range.Row, range.Col, false);
                picker.Opaque        = true;
                picker.Mode          = UIDatePickerMode.Date;
                picker.Date          = d;
                picker.ValueChanged += picker_ValueChanged;
                editor.InputView     = picker;
                UIToolbar toolbar = new UIToolbar(new CoreGraphics.CGRect(0, 0, View.Bounds.Width, 44));
                toolbar.BarStyle      = UIBarStyle.Default;
                picker.EditingDidEnd += picker_EditingDidEnd;

                UIBarButtonItem done  = new UIBarButtonItem(UIBarButtonSystemItem.Done, picker_EditingDidEnd);
                UIBarButtonItem space = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace, null, null);
                toolbar.SetItems(new UIBarButtonItem[2] {
                    space, done
                }, false);
                editor.InputAccessoryView = toolbar;
                editor.ClearButtonMode    = UITextFieldViewMode.Never;
            }

            return(false);
        }
        public bool FormatItem(FlexGrid sender, GridPanel panel, CellRange range, CGContext context)
        {
            FlexGrid g   = (FlexGrid)View.ViewWithTag(1);
            nuint    i   = (nuint)range.Col;
            Column   col = g.Columns.GetItem <Column>(i);

            if (col.Binding == "Money")
            {
                NSNumberFormatter f = new NSNumberFormatter();
                f.NumberStyle = NSNumberFormatterStyle.Currency;

                Console.WriteLine(g.GetCellData(range.Row, range.Col, true));

                NSNumber n;
                try
                {
                    n = (NSNumber)g.GetCellData(range.Row, range.Col, false);
                }
                catch
                {
                    n = f.NumberFromString(g.GetCellData(range.Row, range.Col, true).ToString());
                }
                CoreGraphics.CGRect r = panel.GetCellRect(range.Row, range.Col);
                if (n.Int32Value > 90)
                {
                    context.SetFillColor(UIColor.Green.CGColor);
                }
                else if (n.Int32Value < 60)
                {
                    context.SetFillColor(UIColor.Red.CGColor);
                }
                context.FillRect(r);
            }

            return(false);
        }