Ejemplo n.º 1
0
        public void PregenerateRows(VisibleLinesCollection visibleRows, VisibleLinesCollection visibleColumns)
        {
            if (this.Items.Count != 0 || this.Owner.TreeGridPanel.RowCount <= 0)
            {
                return;
            }

            for (var i = 0; i < visibleRows.Count; i++)
            {
                var             line = visibleRows[i];
                TreeDataRowBase dr   = null;
                switch (line.Region)
                {
                case ScrollAxisRegion.Header:
                    dr = CreateHeaderRow(line.LineIndex, visibleColumns);
                    break;

                case ScrollAxisRegion.Body:
                    dr = CreateDataRow(line.LineIndex, visibleColumns);
                    break;
                }
                if (dr != null)
                {
                    this.Items.Add(dr);
                }
            }
        }
Ejemplo n.º 2
0
 internal void ValidateColumns(TreeDataRowBase dr)
 {
     foreach (var column in dr.VisibleColumns)
     {
         if (column.TreeGridColumn != null)
         {
             this.ValidateColumn(dr.RowData, column.TreeGridColumn.MappingName, column.ColumnElement as TreeGridCell, new RowColumnIndex(column.RowIndex, column.ColumnIndex));
         }
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Disposes all the resources used by the <see cref="Syncfusion.UI.Xaml.TreeGrid.TreeGridRowControlBase"/> class.
 /// </summary>
 /// <param name="isDisposing">Indicates whether the call is from Dispose method or from a finalizer.</param>
 protected virtual void Dispose(bool isdisposing)
 {
     UnwireEvents();
     if (this.ItemsPanel != null)
     {
         if (ItemsPanel is IDisposable)
         {
             (this.ItemsPanel as IDisposable).Dispose();
         }
         this.ItemsPanel = null;
     }
     this.DataRow = null;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Method which will ensure whether the row is selected or not.
        /// </summary>
        /// <param name="rowIndex">Corresponding Row Index</param>
        /// <returns>Whether row is selected or not</returns>
        /// <remarks></remarks>
        private void CheckForSelection(TreeDataRowBase row)
        {
            if (this.Owner.SelectionMode == GridSelectionMode.None || row.RowType == TreeRowType.HeaderRow)
            {
                return;
            }

            row.IsSelectedRow = this.Owner.SelectionController.SelectedRows.Contains(row.RowIndex);

            if (this.Owner.SelectionMode == GridSelectionMode.Multiple && this.Owner.NavigationMode == NavigationMode.Row)
            {
                if (!row.IsSelectedRow && this.Owner.SelectionController.CurrentCellManager.CurrentRowColumnIndex.RowIndex == row.RowIndex)
                {
                    row.IsFocusedRow = true;
                }
                else
                {
                    row.IsFocusedRow = false;
                }
            }
        }
Ejemplo n.º 5
0
 internal void UnloadUIElements(TreeDataRowBase row, TreeDataColumnBase col)
 {
     if (col.Renderer != null)
     {
         col.Renderer.UnloadUIElements(col);
     }
     if (col.ColumnElement is TreeGridHeaderCell)
     {
         var treeGridHeaderCell = col.ColumnElement as TreeGridHeaderCell;
         treeGridHeaderCell.Dispose();
         treeGridHeaderCell.Content = null;
     }
     else if (col.ColumnElement is TreeGridCell)
     {
         var gridCell = col.ColumnElement as TreeGridCell;
         gridCell.Dispose();
         gridCell.Content = null;
     }
     col.DataRow        = null;
     col.TreeGridColumn = null;
     row.RowElement.ItemsPanel.Children.Remove(col.ColumnElement);
 }
Ejemplo n.º 6
0
 internal void RemoveError(TreeDataRowBase dataRow, bool removeAll)
 {
     if (dataRow == null)
     {
         return;
     }
     foreach (TreeDataColumnBase column in dataRow.VisibleColumns)
     {
         if (column.ColumnElement is TreeGridCell)
         {
             if (removeAll)
             {
                 (column.ColumnElement as TreeGridCell).RemoveAll();
             }
             else
             {
                 (column.ColumnElement as TreeGridCell).RemoveError(false);
             }
         }
     }
     (dataRow.RowElement as TreeGridRowControl).RemoveError();
 }
Ejemplo n.º 7
0
 private void ResetRowIndex(TreeDataRowBase dr)
 {
     dr.RowIndex = -1;
 }
Ejemplo n.º 8
0
 private void RemoveColumn(TreeDataRowBase row, TreeDataColumnBase datacolumn)
 {
     datacolumn.ColumnElement = null;
     row.VisibleColumns.Remove(datacolumn);
 }
Ejemplo n.º 9
0
 private void CollapseRow(TreeDataRowBase row)
 {
     row.RowVisibility = Visibility.Collapsed;
 }