internal static void Configure(RadGridView gridView, GridViewStyle style) #endif { if (gridView == null) { throw new ArgumentNullException(nameof(gridView)); } // Universal properties gridView.AddNewRowPosition = SystemRowPosition.Bottom; gridView.AllowCellContextMenu = false; gridView.AllowColumnResize = true; gridView.AllowRowResize = false; gridView.AutoGenerateColumns = false; gridView.EnableAlternatingRowColor = true; gridView.ShowGroupPanel = false; gridView.ShowRowHeaderColumn = false; gridView.TableElement.AlternatingRowColor = Color.FromArgb(240, 240, 240); // Style-specific restrictions switch (style) { case GridViewStyle.ReadOnly: gridView.ReadOnly = true; goto case GridViewStyle.Display; case GridViewStyle.Display: gridView.AllowAddNewRow = false; gridView.AllowDeleteRow = false; break; } // Show/hide group panel depending on grouping status gridView.GroupByChanged += (sender, e) => { RadGridView grid = sender as RadGridView; grid.ShowGroupPanel = grid.GroupDescriptors.Any(); }; // Hide conditional formatting gridView.ContextMenuOpening += (sender, e) => { RadItem formattingItem = e.ContextMenu.Items.FirstOrDefault(n => n.Text == "Conditional Formatting"); if (formattingItem != null) { e.ContextMenu.Items.Remove(formattingItem); e.ContextMenu.Items.First(n => n is RadMenuSeparatorItem).Visibility = ElementVisibility.Collapsed; } }; }
/// <summary> /// Configures the specified grid view for the specified display style. /// </summary> /// <param name="gridView">The grid view.</param> /// <param name="style">The style.</param> #if !SDK public static void Configure(RadGridView gridView, GridViewStyle style)
private void CommonInit() { recog = new GridGestureRecognizer(this); tapGesture = new UITapGestureRecognizer(this,new Selector("tapGestureUpdated:")); tapGesture.Delegate = recog; tapGesture.NumberOfTapsRequired = 1; tapGesture.NumberOfTouchesRequired = 1; tapGesture.CancelsTouchesInView = false; AddGestureRecognizer(tapGesture); ///////////////////////////// // Transformation gestures : pinchGesture = new UIPinchGestureRecognizer(this,new Selector("pinchGestureUpdated:")); pinchGesture.Delegate = recog; AddGestureRecognizer(pinchGesture); rotationGesture = new UIRotationGestureRecognizer(this,new Selector("rotationGestureUpdated:")); rotationGesture.Delegate = recog; AddGestureRecognizer(rotationGesture); panGesture = new UIPanGestureRecognizer(this,new Selector("panGestureUpdated:")); panGesture.Delegate = recog; panGesture.MaximumNumberOfTouches=2; panGesture.MinimumNumberOfTouches=2; AddGestureRecognizer(panGesture); ////////////////////// // Sorting gestures : sortingPanGesture = new UIPanGestureRecognizer(this,new Selector("sortingPanGestureUpdated:")); sortingPanGesture.Delegate = recog; AddGestureRecognizer(sortingPanGesture); longPressGesture = new UILongPressGestureRecognizer(this,new Selector("longPressGestureUpdated:")); longPressGesture.NumberOfTouchesRequired = 1; longPressGesture.Delegate = recog; longPressGesture.CancelsTouchesInView = false; longPressGesture.DelaysTouchesBegan = true; longPressGesture.DelaysTouchesEnded = true; AddGestureRecognizer(longPressGesture); //////////////////////// // Gesture dependencies UIPanGestureRecognizer panGestureRecognizer = null; if (this.RespondsToSelector(new Selector("panGestureRecognizer")))// iOS5 only { panGestureRecognizer = this.PanGestureRecognizer; } else { foreach (UIGestureRecognizer gestureRecognizer in GestureRecognizers) { //if ([gestureRecognizer isKindOfClass:NSClassFromString(@"UIScrollViewPanGestureRecognizer")]) if (gestureRecognizer.ClassHandle.ToString().Equals("UIScrollViewPanGestureRecognizer")) // TODO: Test this! { panGestureRecognizer = (UIPanGestureRecognizer) gestureRecognizer; } } } panGestureRecognizer.MaximumNumberOfTouches = 1; panGestureRecognizer.RequireGestureRecognizerToFail(sortingPanGesture); //layoutStrategy = GMGridViewLayoutStrategyFactory.StrategyFromType(GMGridViewLayoutStrategyType.Vertical); SetLayoutStrategy(GridViewLayoutStrategyFactory.StrategyFromType(GridViewLayoutStrategyType.Vertical)); mainSuperView = this; editing = false; itemSpacing = 10; style = GridViewStyle.Swap; MinimumPressDuration = 0.2; showFullSizeViewWithAlphaWhenTransforming = true; minEdgeInsets = new UIEdgeInsets(5, 5, 5, 5); ClipsToBounds = false; sortFuturePosition = GMGV_INVALID_POSITION; itemSize = new SizeF(); centerGrid = true; lastScale = 1.0f; lastRotation = 0.0f; minPossibleContentOffset = new PointF(0,0); maxPossibleContentOffset = new PointF(0,0); //reusableCells = new HashSet<GMGridViewCell>(); reusableCells = new NSMutableSet(); NSNotificationCenter.DefaultCenter.AddObserver(this,new Selector("receivedMemoryWarningNotification:"),UIApplication.DidReceiveMemoryWarningNotification,null); NSNotificationCenter.DefaultCenter.AddObserver(this,new Selector("receivedWillRotateNotification:"),UIApplication.WillChangeStatusBarOrientationNotification,null); }