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)
示例#3
0
        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);
        }