/// <summary> /// Ensures that the selected columns in the source <see cref="DataColumnCollection"/> do also exist in the destination <see cref="DataColumnCollection"/>. /// </summary> /// <param name="sourceTable">The source table.</param> /// <param name="selectedSourceDataColumns">The selected source data columns. If this parameter is null, all source columns are selected.</param> /// <param name="destinationTable">The destination table.</param> public static void EnsureColumnsExistInDestinationCollection(this DataColumnCollection sourceTable, IAscendingIntegerCollection selectedSourceDataColumns, DataColumnCollection destinationTable) { if (null == selectedSourceDataColumns || 0 == selectedSourceDataColumns.Count) { selectedSourceDataColumns = Altaxo.Collections.ContiguousIntegerRange.FromStartAndCount(0, sourceTable.ColumnCount); } foreach (var colIdx in selectedSourceDataColumns) { var srcCol = sourceTable[colIdx]; destinationTable.EnsureExistence( sourceTable.GetColumnName(srcCol), srcCol.GetType(), sourceTable.GetColumnKind(srcCol), sourceTable.GetColumnGroup(srcCol) ); } }