Ejemplo n.º 1
0
        private void QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            var CurrentNod = this.AssociatedObject.InternalGrid.GetNodeAtRowIndex(e.CellRowColumnIndex.RowIndex);

            if (CurrentNod != null)
            {
                if (CurrentNod.Item is Product)
                {
                    Product CurrentMenuitem = CurrentNod.Item as Product;
                    if (CurrentMenuitem.TYPE == "G")
                    {
                        if (e.CellRowColumnIndex.ColumnIndex > 1 && e.CellRowColumnIndex.ColumnIndex < this.AssociatedObject.InternalGrid.Columns.Count - CoveredRange)
                        {
                            e.Range   = new CoveredCellInfo(e.CellRowColumnIndex.RowIndex, 1, e.CellRowColumnIndex.RowIndex, this.AssociatedObject.InternalGrid.Columns.Count - CoveredRange);
                            e.Handled = true;
                        }
                    }
                }
                else if (CurrentNod.Item is ITreeNode)
                {
                    if ((CurrentNod.Item as ITreeNode).IsGroup)
                    {
                        if (e.CellRowColumnIndex.ColumnIndex > 1 && e.CellRowColumnIndex.ColumnIndex < this.AssociatedObject.InternalGrid.Columns.Count - CoveredRange)
                        {
                            e.Range   = new CoveredCellInfo(e.CellRowColumnIndex.RowIndex, 1, e.CellRowColumnIndex.RowIndex, this.AssociatedObject.InternalGrid.Columns.Count - CoveredRange);
                            e.Handled = true;
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Helper routine for drawing picture in covered range of column Employees_Photo.
        /// </summary>
        void TableModel_QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            GridTableModel model = (GridTableModel)sender;
            GridTable      table = model.Table;

            if (e.RowIndex < table.DisplayElements.Count)
            {
                // Get the element displayed at the row
                Element el = table.DisplayElements[e.RowIndex];

                // Check if element is a record (could also be a column header or group caption ...)
                if (Element.IsRecord(el) && el.ParentGroup != null)
                {
                    GridTableCellStyleInfo         style = model[e.RowIndex, e.ColIndex];
                    GridTableCellStyleInfoIdentity id    = style.TableCellIdentity;
                    // The cell identity contains column information. We check if the column is Employees_Photo
                    if (id.Column != null && id.Column.MappingName == Employees_Photo)
                    {
                        Group group = el.ParentGroup;

                        // Grouped by Customers_ContactName - Do not cover cells if not grouped by Employee ...
                        if (group != null && group.CategoryColumns.Count > 0 && group.CategoryColumns[0].Name == Customers_ContactName)
                        {
                            int tablePos = table.DisplayElements.IndexOf(group);
                            int firstRow = tablePos + 1;
                            int lastRow  = tablePos + group.GetVisibleCount() - 1;
                            e.Range = GridRangeInfo.Cells(firstRow, e.ColIndex, lastRow, e.ColIndex);
                            gridGroupingControl1.TableModel.CoveredRanges.Add(e.Range);
                            e.Handled = true;
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        void Model_QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            if (e.CellRowColumnIndex.RowIndex == 1 && e.CellRowColumnIndex.ColumnIndex == 1)
            {
                e.Range   = new Syncfusion.Windows.Controls.Cells.CoveredCellInfo(1, 1, 1, this.grid.Model.ColumnCount);
                e.Handled = true;
            }
            else if (e.CellRowColumnIndex.RowIndex == 6 && e.CellRowColumnIndex.ColumnIndex == 1)
            {
                e.Range   = new Syncfusion.Windows.Controls.Cells.CoveredCellInfo(6, 1, 6, this.grid.Model.ColumnCount);
                e.Handled = true;
            }

            else if (e.CellRowColumnIndex.RowIndex == 12 && e.CellRowColumnIndex.ColumnIndex == 1)
            {
                e.Range   = new Syncfusion.Windows.Controls.Cells.CoveredCellInfo(12, 1, 12, this.grid.Model.ColumnCount);
                e.Handled = true;
            }

            else if (e.CellRowColumnIndex.RowIndex == 17 && e.CellRowColumnIndex.ColumnIndex == 1)
            {
                e.Range   = new Syncfusion.Windows.Controls.Cells.CoveredCellInfo(17, 1, 17, this.grid.Model.ColumnCount);
                e.Handled = true;
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Cover some cells of the caption bar (specified with captionCover)
        /// </summary>
        private void TableModel_QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            GridTable thisTable = this.gridGroupingControl1.Table;

            if (e.RowIndex < thisTable.DisplayElements.Count)
            {
                Element el = thisTable.DisplayElements[e.RowIndex];

                switch (el.Kind)
                {
                case DisplayElementKind.Caption:
                {
                    // Cover some cells of the caption bar (specified with captionCover)
                    IGridGroupOptionsSource gs = el.ParentGroup as IGridGroupOptionsSource;
                    if (gs != null && gs.GroupOptions.ShowCaptionSummaryCells)
                    {
                        int startCol = el.GroupLevel + 1;
                        if (!gs.GroupOptions.ShowCaptionPlusMinus)
                        {
                            startCol--;
                        }
                        if (e.ColIndex >= startCol && e.ColIndex <= startCol + this.captionCoverCols)
                        {
                            e.Range   = GridRangeInfo.Cells(e.RowIndex, startCol, e.RowIndex, startCol + this.captionCoverCols);
                            e.Handled = true;
                        }
                    }
                    break;
                }
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Method to hanlde the QueryCoveredRange event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void dataGrid_QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            // Merging cells for flat grid
            var range = GetRange(e.GridColumn, e.RowColumnIndex.RowIndex, e.RowColumnIndex.ColumnIndex, e.Record);

            if (range == null)
            {
                return;
            }

            // While editing we need to remove the range.
            if (this.dataGrid.CoveredCells.IsInRange(range))
            {
                CoveredCellInfo coveredCellInfo = this.dataGrid.GetConflictRange(range);

                while (coveredCellInfo != null)
                {
                    if (isEditted)
                    {
                        this.dataGrid.CoveredCells.Remove(coveredCellInfo);
                        coveredCellInfo = this.dataGrid.GetConflictRange(range);
                        if (coveredCellInfo == null)
                        {
                            isEditted = false;
                        }
                    }
                }
            }

            e.Range   = range;
            e.Handled = true;
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Used to Cover the range of cells
 /// </summary>
 void GridQueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
 {
     if (e.RowIndex % 2 == 1 && e.ColIndex >= 1 && e.ColIndex <= 3)
     {
         e.Range   = GridRangeInfo.Cells(e.RowIndex, 1, e.ColIndex, 3);
         e.Handled = true;
     }
 }
Ejemplo n.º 7
0
        private void sfDataGrid1_QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            var range = GetRange(e.GridColumn, e.RowColumnIndex.RowIndex, e.RowColumnIndex.ColumnIndex, e.Record);

            if (range == null)
            {
                return;
            }

            e.Range   = range;
            e.Handled = true;
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Handles the QueryCoveredRange event of the Model control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="Syncfusion.Windows.Controls.Grid.GridQueryCoveredRangeEventArgs"/> instance containing the event data.</param>
        void Model_QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            var treeNode = this.AssociatedObject.InternalGrid.GetNodeAtRowIndex(e.CellRowColumnIndex.RowIndex);

            if (treeNode != null && treeNode.HasChildNodes)
            {
                if (e.CellRowColumnIndex.ColumnIndex >= 1 && e.CellRowColumnIndex.ColumnIndex <= this.AssociatedObject.InternalGrid.Columns.Count)
                {
                    e.Range   = new CoveredCellInfo(e.CellRowColumnIndex.RowIndex, 1, e.CellRowColumnIndex.RowIndex, this.AssociatedObject.InternalGrid.Columns.Count);
                    e.Handled = true;
                }
            }
        }
        private void SfDataGrid_OnQueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            //merge the columns in a row by setting the column range using Left and Right properties of CoveredCellInfo.
            if (e.RowColumnIndex.RowIndex == 3)
            {
                e.Range   = new CoveredCellInfo(0, 2, 3, 3);
                e.Handled = true;
            }

            //Refresh the autosize calculation after the merge cell operation performed in SfDataGrid
            this.dataGrid.GridColumnSizer.ResetAutoCalculationforAllColumns();
            this.dataGrid.GridColumnSizer.Refresh();
        }
Ejemplo n.º 10
0
        void InternalGrid_QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            var rowcolIndex = e.CellRowColumnIndex;

            if (rowcolIndex.ColumnIndex >= 1)
            {
                var unboundPos = this.AssociatedObject.InternalGrid.ResolveIndexToUnboundRowPosition(rowcolIndex.RowIndex);
                if (unboundPos >= 0 && unboundPos < this.AssociatedObject.UnboundRowsCount)
                {
                    e.Range   = new Syncfusion.Windows.Controls.Cells.CoveredCellInfo(rowcolIndex.RowIndex, 1, rowcolIndex.RowIndex, AssociatedObject.Model.ColumnCount - 1);
                    e.Handled = true;
                }
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Method to handle the event.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void dataGrid_QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            if (!e.GridColumn.MappingName.Equals("CustomerID"))
            {
                return;
            }

            var range = GetRange(e.GridColumn, e.RowColumnIndex.RowIndex, e.RowColumnIndex.ColumnIndex, e.Record);

            if (range == null)
            {
                return;
            }

            e.Range   = range;
            e.Handled = true;
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Handles the QueryCoveredRange event of the Model control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="Syncfusion.Windows.Controls.Grid.GridQueryCoveredRangeEventArgs"/> instance containing the event data.</param>
        void Model_QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            var treeNode = this.AssociatedObject.InternalGrid.GetNodeAtRowIndex(e.CellRowColumnIndex.RowIndex);

            if (treeNode != null && treeNode.HasChildNodes)
            {
                if (e.CellRowColumnIndex.ColumnIndex >= 1 && e.CellRowColumnIndex.ColumnIndex <= this.AssociatedObject.InternalGrid.Columns.Count)
                {
                    e.Range   = new CoveredCellInfo(e.CellRowColumnIndex.RowIndex, 1, e.CellRowColumnIndex.RowIndex, this.AssociatedObject.InternalGrid.Columns.Count);
                    e.Handled = true;
                    this.AssociatedObject.Model.RowStyles[e.CellRowColumnIndex.RowIndex].VerticalAlignment = VerticalAlignment.Stretch;
                    this.AssociatedObject.Model.RowStyles[e.CellRowColumnIndex.RowIndex].BorderMargins     = new CellMarginsInfo(new Thickness()
                    {
                        Bottom = -5, Left = 0, Right = 0, Top = 5
                    });
                }
            }
        }
Ejemplo n.º 13
0
        private void TableModel_QueryCoveredRange(object sender, GridQueryCoveredRangeEventArgs e)
        {
            GridTable thisTable = this.gridGroupingControl1.Table;

            if (e.RowIndex < thisTable.DisplayElements.Count)
            {
                Element el = thisTable.DisplayElements[e.RowIndex];

                if (el is ExtraSection)
                {
                    // Cover some cells of the extra section (specified with extraSectionCoverCols)
                    int startCol = el.GroupLevel + 1;  // Add +1 so we have place for column header
                    if (e.ColIndex >= startCol && e.ColIndex <= this.extraSectionCoverCols + el.ParentTableDescriptor.GroupedColumns.Count)
                    {
                        e.Range   = GridRangeInfo.Cells(e.RowIndex, startCol, e.RowIndex, this.extraSectionCoverCols + el.ParentTableDescriptor.GroupedColumns.Count);
                        e.Handled = true;
                    }
                }
            }
        }