Exemplo n.º 1
0
        /// <summary>
        /// Event delegate method fired when the <see cref="MultiHeaderCell.ColumnSpan"/> value changes.
        /// </summary>
        /// <param name="sender">Sender object.</param>
        /// <param name="args">Event arguments.</param>
        private void HeaderCellColumnSpanChangedAction(object sender, HeaderCellColumnSpanChangedArgs args)
        {
            var headerCell = args.HeaderCell;

            if (headerCell == null)
            {
                return;
            }

            if (headerCell.ColumnIndex + args.NewColumnSpan > _headerCells.Count)
            {
                // If column span was incorrectly set to span more columns than the ones in the collection, reset it to the largest possible span.
                headerCell.ColumnSpan = _headerCells.Count - headerCell.ColumnIndex;
                return;
            }

            ResetHeaderCellsInSpan(headerCell.ColumnIndex, args.OldColumnSpan, false);
            ResetHeaderCellsInSpan(headerCell.ColumnIndex, args.NewColumnSpan, true);

            // Invalidate Height so it gets recalculated
            _height = 0;

            // Fire corresponding event
            if (HeaderCellColumnSpanChanged != null)
            {
                HeaderCellColumnSpanChanged(this, args);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Event delegate method fired when the <see cref="MultiHeaderCell.ColumnSpan"/> of a cell in one of the <see cref="MultiHeaderRow"/> objects in this grid changes value.
        /// </summary>
        /// <param name="sender">A <see cref="MultiHeaderRow"/> in this grid.</param>
        /// <param name="args">The <see cref="HeaderCellColumnSpanChangedArgs"/> related to the event.</param>
        private void HeaderCellColumnSpanChanged(object sender, HeaderCellColumnSpanChangedArgs args)
        {
            var headerRow = sender as MultiHeaderRow;

            if (headerRow == null)
            {
                return;
            }

            AdjustColumnsWidth(args.HeaderCell);
        }