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); } } }
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)); } } }
/// <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; }
/// <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; } } }
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); }
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(); }
private void ResetRowIndex(TreeDataRowBase dr) { dr.RowIndex = -1; }
private void RemoveColumn(TreeDataRowBase row, TreeDataColumnBase datacolumn) { datacolumn.ColumnElement = null; row.VisibleColumns.Remove(datacolumn); }
private void CollapseRow(TreeDataRowBase row) { row.RowVisibility = Visibility.Collapsed; }