public static bool HasRectangularSelection(this DataGridContext gridContext) { foreach (var item in gridContext.GetSelectedItems()) { foreach (var column in gridContext.GetSelectedColumns()) { var itemIndex = gridContext.Items.IndexOf(item); var columnIndex = gridContext.VisibleColumns.IndexOf(column); var contains = false; foreach (var range in gridContext.SelectedCellRanges) { if (range.ItemRange.Contains(itemIndex) == true && range.ColumnRange.Contains(columnIndex) == true) { contains = true; } } if (contains == false) { return(false); } } } return(true); }
public DomainTextClipboardPaster(DataGridContext gridContext) { this.gridContext = gridContext; this.columns = gridContext.GetSelectedColumns().ToArray(); this.items = gridContext.GetSelectedItems().ToArray(); if (gridContext.Items.SourceCollection is not ITypedList typedList) { var source = (gridContext.Items.SourceCollection as CollectionView).SourceCollection; typedList = source as ITypedList; } this.props = typedList.GetItemProperties(null); this.tableName = CremaDataTable.GetTableName(typedList.GetListName(null)); this.columnNames = CremaDataRowUtility.GetColumnNames(typedList); }