예제 #1
0
        public static SelectionRangePoint TryCreateFromCurrent(DataGridContext dataGridContext)
        {
            if (dataGridContext == null)
            {
                return(null);
            }

            var dataGridControl = dataGridContext.DataGridControl;

            if (dataGridControl == null)
            {
                return(null);
            }

            var column      = dataGridContext.CurrentColumn;
            int columnIndex = (column != null) ? column.VisiblePosition : -1;

            var oldPosition = SelectionRangePoint.TryCreateRangePoint(dataGridContext, dataGridContext.CurrentItem, dataGridContext.CurrentItemIndex, columnIndex);

            if (oldPosition == null)
            {
                oldPosition = SelectionRangePoint.TryCreateRangePoint(dataGridContext, dataGridContext.InternalCurrentItem, -1, columnIndex);
            }

            return(oldPosition);
        }
예제 #2
0
        public static SelectionRangePoint TryCreateRangePoint(DataGridContext dataGridContext, object item, int itemIndex, int columnIndex)
        {
            if ((dataGridContext == null) || (item == null))
            {
                return(null);
            }

            if (!(item is GroupHeaderFooterItem))
            {
                return(new SelectionRangePoint(dataGridContext, item, itemIndex, columnIndex));
            }

            var dataGridControl = dataGridContext.DataGridControl;

            if ((dataGridControl == null))
            {
                return(null);
            }

            var group = dataGridContext.GetGroupFromCollectionViewGroup((( GroupHeaderFooterItem )item).Group);

            return(SelectionRangePoint.TryCreateRangePoint(group));
        }