Click or drag to resize

DataTableMatrixProxy Class

Holds reference to a matrix-like arrangement of data from a DataTable. The matrix data consist of 2 or more DataColumns and all or selected data rows. Furthermore, a row header column and a column header column can deliver corresponding physical values for each matrix row and column, respectively.
Inheritance Hierarchy

Namespace: Altaxo.Data
Assembly: AltaxoBase (in AltaxoBase.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public class DataTableMatrixProxy : DataTableMatrixProxyBase

The DataTableMatrixProxy type exposes the following members.

Constructors
 NameDescription
Protected methodDataTableMatrixProxy Deserialization constructor
Public methodDataTableMatrixProxy(IReadableColumnProxy, IReadableColumnProxy, IReadableColumnProxy)Obsolete.
Initializes a new instance of the DataTableMatrixProxy class
Public methodDataTableMatrixProxy(DataTable, IAscendingIntegerCollection, IAscendingIntegerCollection, IAscendingIntegerCollection) Initializes a new instance of the DataTableMatrixProxy class. The selected collections determine which columns and rows contribute to the matrix, and which row header column and column header column is used. The group number is determined by the first selected column (or, if no column is selected, by the first column of the data table).
Top
Properties
 NameDescription
Protected propertyAccumulatedEventData Gets the accumulated event data.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT)
Public propertyColumnCount Gets the number of columns of the resulting matrix.
(Inherited from DataTableMatrixProxyBase)
Public propertyColumnHeaderColumnColumn that correlate each column of the resulting matrix to a corresponding physical value. This value can be used for instance for calculating the x- or y- position in the coordinate system.
Public propertyDataTable Gets or sets the underlying data table.
(Inherited from DataTableMatrixProxyBase)
Protected propertyDebug_AbsolutePath Gets the absolute path of the node for debugging purposes.
(Inherited from SuspendableDocumentNodeBase)
Public propertyGroupNumberThe group number of the data columns. All data columns must be columns of ColumnKind.V and must have this group number. Data columns having other group numbers will be removed.
(Inherited from DataTableMatrixProxyBase)
Public propertyIsDisposed Gets a value indicating whether this instance is disposed.
(Inherited from SuspendableDocumentNodeBase)
Public propertyIsDisposeInProgress Gets a value indicating whether for this instance dispose is in progress, or the instance is already disposed.
(Inherited from SuspendableDocumentNodeBase)
Public propertyIsResumeInProgress Gets a value indicating whether this instance is currently resuming the events.
(Inherited from SuspendableDocumentNode)
Public propertyIsSomeoneListeningToChanges Gets a value indicating whether someone is listening to changes. For this, either the ParentObject or the Changed event must be set.
(Inherited from SuspendableDocumentNodeBase)
Public propertyIsSuspended Gets a value indicating whether this instance is suspended.
(Inherited from SuspendableDocumentNode)
Public propertyIsSuspendedOrResumeInProgress Gets a value indicating whether this instance is suspended or resume is currently in progress.
(Inherited from SuspendableDocumentNode)
Public propertyName Gets the name of this document node. Null is returned if the name is not set or unknown. The set accessor will for most nodes throw a InvalidOperationException, since the name can only be set on IProjectItems.
(Inherited from SuspendableDocumentNodeBase)
Public propertyParentObject Gets/sets the parent object this instance belongs to.
(Inherited from SuspendableDocumentNodeBase)
Public propertyParticipatingDataColumnsGet the indices of the data columns that contribute to the matrix.
(Inherited from DataTableMatrixProxyBase)
Public propertyParticipatingDataRowsGets the indices of the data rows that contribute to the matrix.
(Inherited from DataTableMatrixProxyBase)
Public propertyRowCount Gets the number of rows of the resulting matrix.
(Inherited from DataTableMatrixProxyBase)
Public propertyRowHeaderColumnColumn that correlate each row of the resulting matrix to a corresponding physical value. This value can be used for instance for calculating the x- or y- position in the coordinate system.
(Inherited from DataTableMatrixProxyBase)
Public propertyUseAllAvailableDataColumnsOfGroupThe indices of the data columns that contribute to the matrix.
(Inherited from DataTableMatrixProxyBase)
Public propertyUseAllAvailableDataRowsIf true, all available rows (of the columns that contribute to the matrix) will be included in the matrix.
(Inherited from DataTableMatrixProxyBase)
Top
Methods
 NameDescription
Protected methodAccumulateChangeData Accumulates the change data of the child. Currently only a flag is set to signal that the table has changed.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT)
Protected methodAccumulatedChangeData_SetBackAfterResumeAndSuspend Sets the change data without further processing. This function is infrastructure and intended to use only in OnResume after the parent has suspended this node again.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT)
Protected methodAccumulatedEventData_Clear Clears the accumulated event data.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT)
Protected methodAccumulatedEventData_HasZeroOrOneEventArg Determines whether there is no or only one single event arg accumulated. If this is the case, the return value is true. If there is one event arg accumulated, it is returned in the argument singleEventArg. The return value is false if there is more than one event arg accumulated. In this case the singleEventArg is null on return, and the calling function should use AccumulatedEventData to enumerate all accumulated event args.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT)
Public methodAddDataColumn Adds a column that contributes to the matrix.
(Inherited from DataTableMatrixProxyBase)
Protected methodChildCloneFromT Clones a node that is intended to use as child node of this instance (e.g. in collections). Consider using ChildCloneToMemberT(T, T) instead if the child node is stored in a member of this instance.
(Inherited from SuspendableDocumentNode)
Protected methodChildCloneToMemberT Sets a member variable that holds a child with a cloned instance of another variable. If an old instance member (provided in myChild exists and can not be used, it is disposed first. The node is then cloned using System.ICloneable. The resulting node's ParentObject is then set to this instance in order to maintain the parent-child relationship.
(Inherited from SuspendableDocumentNode)
Protected methodChildCloneToMemberAltT Set a member variable that holds a child node of this instance. The child node may or may not implement IDocumentLeafNode. The value to set may or may not implement ICloneable. If it implements ICloneable, then the member variable is set to a clone of the value. Otherwise, the member variable is set directly with the value. It helps to ensure the correct order: first, the child node is set to the new instance and then the old child node is disposed.
(Inherited from SuspendableDocumentNode)
Protected methodChildCopyToMemberT Copies a document node from another source into a member of this instance. If an old instance member (provided in myChild exists and can not be used, it is disposed first. The node is then copied using either Main.ICopyFrom or System.ICloneable. The resulting node's ParentObject is then set to this instance in order to maintain the parent-child relationship.
(Inherited from SuspendableDocumentNode)
Protected methodChildCopyToMemberOrCreateNewT Copies a document node from another source into a member of this instance. If an old instance member (provided in myChild exists and can not be used, it is disposed first. If the node is not null, the node is then copied using either Main.ICopyFrom or System.ICloneable. If the node is null, a new node is created using the provided generation function. The resulting node's ParentObject is then set to this instance in order to maintain the parent-child relationship.
(Inherited from SuspendableDocumentNode)
Protected methodChildDisposeMemberT Helper function to dispose a child node of this instance. It helps to ensure the correct order: first, the child node is set to null and only then the child node is disposed.
(Inherited from SuspendableDocumentNodeBase)
Protected methodChildSetMemberT Set a member variable that holds a child node of this instance. It helps to ensure the correct order: first, the child node is set to the new instance and then the old child node is disposed.
(Inherited from SuspendableDocumentNode)
Protected methodChildSetMemberAltT Set a member variable that holds a child node of this instance. The child node may or may not implement IDocumentLeafNode. It helps to ensure the correct order: first, the child node is set to the new instance and then the old child node is disposed.
(Inherited from SuspendableDocumentNode)
Public methodClone Creates a new object that is a copy of the current instance.
(Overrides DataTableMatrixProxyBaseClone)
Public methodCopyFrom Copies data from another instance of DataTableMatrixProxyBase.
(Inherited from DataTableMatrixProxyBase)
Public methodCountEvent Counts the number of events during the suspend state. Every call to this function will increment the event counter by 1 (but only in the suspended state). The event counter will be reset to zero when the object is resumed.
(Inherited from SuspendableDocumentNode)
Public methodStatic memberCreateEmptyInstanceObsolete.
Public methodDispose Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from SuspendableDocumentNodeBase)
Protected methodDispose(Boolean)
(Inherited from SuspendableDocumentNode)
Public methodEhChildChanged Used by childs of this object to inform us about a change in their state.
(Inherited from SuspendableDocumentNode)
Public methodEhParentTunnelingEventHappened Is called by the parent when a tunneling event happened in the parent.
(Inherited from SuspendableDocumentNode)
Public methodEhSelfChanged Calls EhSelfChanged with EventArgs.Empty
(Inherited from SuspendableDocumentNodeWithEventArgs)
Protected methodEhSelfChanged(EventArgs) Called if some (simple) member or property of this instance itself has changed.
(Inherited from SuspendableDocumentNode)
Public methodEhSelfTunnelingEventHappened(TunnelingEventArgs) Is called by this instance if a tunneling event happened into this instance. The tunneling event triggers the TunneledEvent and is additionally distributed to all childs of this instance.
(Inherited from SuspendableDocumentNodeBase)
Public methodEhSelfTunnelingEventHappened(TunnelingEventArgs, Boolean) Is called by this instance if a tunneling event happened into this instance. The tunneling event triggers the TunneledEvent and is - depending on the provided parameter - also distributed to all childs of this instance.
(Inherited from SuspendableDocumentNode)
Public methodEnumerateFromHereToLeaves Enumerates all document node including this node, its child nodes, its child-child nodes up to the leaf nodes.
(Inherited from SuspendableDocumentNode)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalize Finalizes an instance of the SuspendableDocumentNodeBase class.
(Inherited from SuspendableDocumentNodeBase)
Public methodForEachColumnHeaderElementDo Performs an action on each element of the column header column.
(Inherited from DataTableMatrixProxyBase)
Public methodForEachMatrixElementDo Performs an action on each matrix element.
(Inherited from DataTableMatrixProxyBase)
Public methodForEachRowHeaderElementDo Performs an action on each row header element.
(Inherited from DataTableMatrixProxyBase)
Public methodGetChildObjectNamed Retrieves the child node of this instance with the name
C#
name
.
(Inherited from SuspendableDocumentNode)
Public methodGetColumnHeaderWrapper Gets a wrapper vector around the column header data.
(Inherited from DataTableMatrixProxyBase)
Public methodGetDataColumnProxy Gets the data column proxy at index idx.
(Inherited from DataTableMatrixProxyBase)
Protected methodGetDocumentNodeChildrenWithName
(Inherited from DataTableMatrixProxyBase)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetMatrix Gets the matrix as writeable matrix of Double values. The parameter matrixGenerator is used to generate a matrix.
(Inherited from DataTableMatrixProxyBase)
Public methodGetMatrixWrapper Gets the matrix as read-only matrix of Double values. The returned matrix is only a wrapper around data hold by this instance, so that the data will change, if anything in this instance is changed. Intended for short time usage only.
(Inherited from DataTableMatrixProxyBase)
Public methodGetNameOfChildObject Gets the name of child node.
(Inherited from SuspendableDocumentNode)
Public methodGetRowHeaderWrapper Gets a wrapper vector around the row header data.
(Inherited from DataTableMatrixProxyBase)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodGetWrappers Gets wrappers for the matrix and for the row and column header values. The row and column header values are transformed (for instance to logical values and selected by means of corresponding functions.
(Inherited from DataTableMatrixProxyBase)
Protected methodHandleHighPriorityChildChangeCases
(Inherited from DataTableMatrixProxyBase)
Protected methodHandleLowPriorityChildChangeCases
(Inherited from DataTableMatrixProxyBase)
Protected methodInternalAddColumnHeaderColumnNoClone Adds a data column proxy to the data column collection without cloning it (i.e. the proxy is directly added).
(Inherited from DataTableMatrixProxyBase)
Protected methodInternalAddDataColumnNoClone Adds a data column proxy to the data column collection without cloning it (i.e. the proxy is directly added).
(Inherited from DataTableMatrixProxyBase)
Protected methodInternalAddMissingDataColumnsIfAllDataColumnsShouldBeIncluded Should be called only if _useAllAvailableColumnsOfGroup is true. Adds all missing data columns that have a group number of GroupNumber and ColumnKind.V.
(Inherited from DataTableMatrixProxyBase)
Protected methodInternalRemoveDataColumnsWithDeviatingParentOrKindOrGroupNumber Removes all data columns, whose parent is not the data table table, or whose column kind is not ColumnKind.V, or whose group number is not equal to GroupNumber.
(Inherited from DataTableMatrixProxyBase)
Protected methodInternalRemoveUnresolvedDataColumnsIfAllDataColumnsShouldBeIncluded Should be called only if _useAllAvailableColumnsOfGroup is true. Removes all data columns that are unresolved.
(Inherited from DataTableMatrixProxyBase)
Protected methodInternalSetColumnHeaderColumn
(Inherited from DataTableMatrixProxyBase)
Protected methodInternalSetColumnHeaderColumnsWithCloning Clears the data column collection, then adds data column proxies, using a list of existing data column proxies. The proxies are cloned before adding them to the collection.
(Inherited from DataTableMatrixProxyBase)
Protected methodInternalSetRowHeaderColumn
(Inherited from DataTableMatrixProxyBase)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Protected methodNotifyChildrenTunnelingEventHappened Notifies the child nodes of this instance that a tunneling event has happened.
(Inherited from SuspendableDocumentNode)
Protected methodOnAboutToBeResumed Is called when the suspend level is still 1 (one), but is about to fall to zero, i.e. shortly before the call to OnResume(Int32). This function is not called before OnResumeSilently(Int32)!
(Inherited from SuspendableDocumentNode)
Protected methodOnChanged Fires the change event with the EventArgs provided in the argument.
(Inherited from SuspendableDocumentNodeBase)
Protected methodOnResume Is called when the object is resumed, i.e. change notifications are allowed again. During the execution of this function, the [P:IsResumeInProgress] property will return true to indicate that the resume is currently in progress.
(Inherited from SuspendableDocumentNode)
Protected methodOnResumeSilently Is called when the suspend level falls down from 1 to zero by a call to ResumeSilently. This implementation disarma the suspendTokens of the childs of this object, deletes any accumulated events, and does not send any change event to the parent or the listeners of the Change event.
(Inherited from SuspendableDocumentNode)
Protected methodOnSuspended Called when the suspend level has just gone from 0 to 1, i.e. the object was suspended.
(Inherited from SuspendableDocumentNode)
Protected methodOnTunnelingEvent Fires the TunneledEvent event.
(Inherited from SuspendableDocumentNodeBase)
Public methodResume(ISuspendToken) Resumes changed events by calling Resume for the provided suspend token, and setting the reference to the suspend token to null. If Event data were accumulated during the suspended state, a changed event is triggered for each event data.
(Inherited from SuspendableDocumentNodeBase)
Public methodResume(ISuspendToken, EventFiring) Resumes changed events, either with taking the accumulated event data into account (see Resume(ISuspendToken)) or discarding the accumulated event data (see ResumeSilently(ISuspendToken), depending on the provided argument eventFiring.
(Inherited from SuspendableDocumentNodeBase)
Public methodResumeCompleteTemporarily Resumes the object completely for only a short time. Thus, if object was suspended before, it will be suspended again when the function returns.
(Inherited from SuspendableDocumentNode)
Public methodResumeCompleteTemporarilyGetToken Resumes the object completely for the time the returned token is referenced and not disposed. The return value is a token that had 'absorbed' the suspend count of the object, resulting in the suspend count of the object dropped to 0 (zero). When the returned token is finally disposed, the suspend count of the object is increased again by the 'absorbed' suspend count.
(Inherited from SuspendableDocumentNode)
Public methodResumeSilently Resumes changed events by calling Resume for the provided suspend token, and setting the reference to the suspend token to null. All event data accumulated during the suspended state are discarded, and thus no change event is triggered even if the instance has changed during the suspended state.
(Inherited from SuspendableDocumentNodeBase)
Public methodSetDataColumns Sets the data columns from an enumeration of data column proxies.
(Inherited from DataTableMatrixProxyBase)
Public methodSetDataRows Sets the data columns from an enumeration of data column proxies.
(Inherited from DataTableMatrixProxyBase)
Public methodSetDisposeInProgress Sets the flag that dispose is in progress for this node and all child nodes recursively.
(Inherited from SuspendableDocumentNode)
Protected methodSetMemberAndRaiseSelfChangedT(NullableT, NullableT) Sets a member variable of this instance and raise a change event with Empty if the new value is different from the old value. The comparison is done using the IEquatableT interface of the member variable. Note: to set members that implement IDocumentNode please use the Child... functions.
(Inherited from SuspendableDocumentNodeBase)
Protected methodSetMemberAndRaiseSelfChangedT(T, T) Sets a member variable of this instance and raise a change event with Empty if the new value is different from the old value. The comparison is done using the IEquatableT interface of the member variable. Note: to set members that implement IDocumentNode please use the Child... functions.
(Inherited from SuspendableDocumentNodeBase)
Protected methodSetMemberEnumAndRaiseSelfChangedT Sets a member variable (which is an Enum) of this instance and raise a change event with Empty if the new value is different from the old value. The comparison is done using the IEquatableT interface of the member variable. Note: to set members that implement IDocumentNode please use the Child... functions.
(Inherited from SuspendableDocumentNodeBase)
Public methodSuspendGetToken Suspend will increase the SuspendLevel.
(Inherited from SuspendableDocumentNode)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Public methodTryGetColumnHeaderIncrement Tries to the get the uniform spacing value between elements of the column header column.
(Inherited from DataTableMatrixProxyBase)
Public methodTryGetName Test if this item already has a name.
(Inherited from SuspendableDocumentNodeBase)
Public methodTryGetRowHeaderIncrement Tries to the get the uniform spacing value between elements of the row header column.
(Inherited from DataTableMatrixProxyBase)
Protected methodUpdate Brings the members of this instance in a consistent state. After the state is consistent, the member _isDirty is set to false. This fails if the underlying data table is null, and can not be determined from the data columns.
(Inherited from DataTableMatrixProxyBase)
Public methodVisitDocumentReferences Replaces path of items (intended for data items like tables and columns) by other paths. Thus it is possible to change a plot so that the plot items refer to another table.
(Inherited from DataTableMatrixProxyBase)
Top
Events
 NameDescription
Public eventChangedFired when something in the object has changed, and the object is not suspended.
(Inherited from SuspendableDocumentNodeBase)
Public eventTunneledEvent The event that is fired when the object is disposed. First argument is the sender, second argument is the original source, and third argument is the event arg.
(Inherited from SuspendableDocumentNodeBase)
Top
Fields
 NameDescription
Protected field_accumulatedEventData Holds the accumulated change data.
(Inherited from SuspendableDocumentNodeWithSingleAccumulatedDataT)
Protected field_columnHeaderColumnsColumn that correlate each column of the resulting matrix to a corresponding physical value. This value can be used for instance for calculating the x- or y- position in the coordinate system.
(Inherited from DataTableMatrixProxyBase)
Protected field_dataColumns
(Inherited from DataTableMatrixProxyBase)
Protected field_dataTableHolds a reference to the underlying data table. If the Empty property of the proxy is null, the underlying table must be determined from the column proxies.
(Inherited from DataTableMatrixProxyBase)
Protected field_groupNumberThe group number of the data columns. All data columns must be columns of ColumnKind.V and must have this group number. Data columns having other group numbers will be removed.
(Inherited from DataTableMatrixProxyBase)
Protected field_isDirtyTrue if the data are inconsistent. To bring the data in a consistent state Update method must be called then.
(Inherited from DataTableMatrixProxyBase)
Protected field_parent The parent object this instance belongs to.
(Inherited from SuspendableDocumentNodeBase)
Protected field_participatingDataColumnsThe indices of the data columns that contribute to the matrix.
(Inherited from DataTableMatrixProxyBase)
Protected field_participatingDataRowsThe indices of the data rows that contribute to the matrix.
(Inherited from DataTableMatrixProxyBase)
Protected field_rowHeaderColumnColumn that correlate each row of the resulting matrix to a corresponding physical value. This value can be used for instance for calculating the x- or y- position in the coordinate system.
(Inherited from DataTableMatrixProxyBase)
Protected field_suspendTokensOfChildsStores the suspend tokens of the suspended childs of this object.
(Inherited from SuspendableDocumentNode)
Protected field_useAllAvailableColumnsOfGroupIf true, all available columns (of ColumnKind.V) with the group number of _groupNumber will be used for the data matrix. If columns with this group number are removed or added from/to the table, the number of columns of the matrix will be adjusted.
(Inherited from DataTableMatrixProxyBase)
Protected field_useAllAvailableDataRowsIf true, all available rows (of the columns that contribute to the matrix) will be included in the matrix.
(Inherited from DataTableMatrixProxyBase)
Top
See Also