Grooper.Core.DataTable

Data Table objects are used to describe tabular data for the purposes of Data Extraction during Extract and Data Review. The columns in the table are defined by adding child Data Column elements to a Data Table object.


Inherits from: Grooper.Core.DataFieldContainer

Constructors

Signature Description
New (gdb As GrooperDb) Initializes a new instance of the DataTable class.
Parameters
gdb
          Type: GrooperDb
          The associated Grooper database.
New (gdb As GrooperDb, dr As IDataReader) Initializes a new instance of the DataTable class from a DataReader object.
Parameters
gdb
          Type: GrooperDb
          The associated Grooper Database.
 
dr
          Type: IDataReader
          The DataReader object.

Fields

Field Name Field Type Description
Database As Grooper.GrooperDb Grooper.GrooperDb
IsDeleted As System.Boolean System.Boolean

Properties

Property Name Property Type Description
ACL Grooper.AccessControlList Returns the effective ACL for this node. If no ACL has been set directly on the node, the tree structure is traversed up to the root and the first ACL encountered is returned. If no ACL is found, null/Nothing will be returned.
AllChildren System.Collections.Generic.IEnumerable(Of T) Iterates recursively through all nodes below this node.
AllChildrenOfType(Type As Type) System.Collections.Generic.IEnumerable(Of T) Returns all nodes at any level below the current node which have a TypeName matching the supplied parameter.
Parameters
Type
          Type: Type
          The type to filter by.
AllowedChildTypes System.Collections.Generic.IEnumerable(Of T) Iterates the list of types which can be added as children.
Attributes Grooper.GrooperNode.NodeAttributes The attributes of this node.A combination of the following flags:
  • None: No attributes are set.
  • ReadOnly: If set, the properties of the object are not editable.
  • FixedContents: If set, child objects cannot be added, removed, or reordered.
  • Sorted: If set, child objects will be automatically sorted by name.
  • HasACL: Indicates whether this node has an Access Control List attached to it.
  • System: Indicates whether this node is a system object.
AutoName System.Boolean Indicates whether this node type uses automatic name generation. Node types which use auto name generation: (a) do not prompt for a name on creation; and (b) disable user renaming.
BackColor System.Drawing.Color The background color for this item.
CanAddChildren System.Boolean Returns true if this node has child types defined, the current user has appropriate write permissions, and the 'ContentsReadOnly' flag is not set.
CanHaveChildren System.Boolean Indicates whether this node type can have children.
CanScript System.Boolean Indicates whether this node type can have a script.
CellBorderStyle System.Windows.Forms.DataGridViewCellBorderStyle The cell border style to use for this table.Can be one of the following values:
  • Custom: A border that has been customized.
  • Single: A single line border.
  • Raised: A three-dimensional raised border.
  • Sunken: A three-dimensional sunken border.
  • None: No borders.
  • SingleVertical: A vertical single-line border.
  • RaisedVertical: A vertical three-dimensional raised border.
  • SunkenVertical: A vertical three-dimensional sunken border.
  • SingleHorizontal: A horizontal single-line border.
  • RaisedHorizontal: A horizontal three-dimensional raised border.
  • SunkenHorizontal: A horizontal three-dimensional sunken border.
ChildrenAtLevel(Level As Int32) System.Collections.Generic.IEnumerable(Of T) Iterates though children at a specific level below this node.
Parameters
Level
          Type: Int32
          The number of levels below this node to generate a list for.
ChildrenOfType(Type As Type) System.Collections.Generic.IEnumerable(Of T) Returns all immediate children of this node which have a TypeName matching the supplied parameter.
Parameters
Type
          Type: Type
          The TypeName to filter by.
CodeName System.String Returns a code-friendly version of this items name.
ContentType Grooper.Core.ContentType Returns the ContentType on which this DataElement exists.
DataModel Grooper.Core.DataModel Returns the DataModel on which this Data Element exists.
Description System.String Generic property allowing an administrator to document the purpose of this Grooper Node.
DirtyFields Grooper.GrooperNode.DirtyFieldMask Returns a bit mask specifying which database fields have been modified.A combination of the following flags:
  • None
  • NonField
  • Name
  • ParentId
  • NodeIndex
  • NumChildren
  • Attributes
  • NodeValues
  • Files
  • Properties
DisplayHeaderRow System.Boolean Determines whether a column header appears at the top of the table.
DisplayName System.String The human-readable display name for this node. Derived classes can override this property to provide dynamically generated names rather than stored names. For example, BatchPage overrides this property to return "Page 1", "Page 2", etc. using the NodeIndex rather than trying to keep up with renaming nodes each time a page is inserted. Please note that all nodes must have a unique name, so if dynamic name generation is to be implemented, use the node's unique id as the name.
DisplayTotalRow System.Boolean Controls whether a total row will be displayed at the bottom of the table.
ExtractMethod Grooper.Core.TableExtractMethod Specifies the method to be used for table extraction.
FileNames System.Collections.Generic.IEnumerable(Of T) Provides a list of filenames for files associated with this node.
Files System.Collections.Generic.IEnumerable(Of T) Iterates the list of file objects stored on this node.
FilesDirty System.Boolean Gets or sets a value indicating whether the properties of this node have changes which should be written to the database on the next call to SaveChanges().
FilesString System.String Gets JSON string which contains the serialized file entries for this node.
ForeColor System.Drawing.Color The foreground color for this item.
FullDisplayName System.String Returns the full display path and display name for this node.
HasACL System.Boolean Returns true or false to indicate whether this node has an ACL attached to it.
HasCircularReference System.Boolean Returns True if this node references any Grooper Nodes that reference this node.
HasCompiledScript System.Boolean Determines whether this node has a compiled script associated with it.
HasContentsReadOnlyFlag System.Boolean Indicates whether this node has the ContentsReadOnly attribute set.
HasContentsSortedFlag System.Boolean Indicates whether this node has the ContentsSorted attribute set.
HasDbRow System.Boolean A boolean value indicating whether this node has been written to the database.
HasReferenceProperties System.Boolean Returns true if the object has properties which reference Grooper Node objects.
HasScript System.Boolean Returns a value indicating whether this node has a script associated with it.
HeaderBackColor System.Drawing.Color The background color for the table column headers.
HeaderFontStyle System.Drawing.FontStyle The font style to use for the header row.A combination of the following flags:
  • Regular: Normal text.
  • Bold: Bold text.
  • Italic: Italic text.
  • Underline: Underlined text.
  • Strikeout: Text with a line through the middle.
HeaderForeColor System.Drawing.Color The background color for the table column headers.
IconImage System.Drawing.Image Returns a 16x16 icon image which represents this object.
IconKey System.String Returns a unique identifier representing the icon image used for this object.
Id System.Guid Unique Node ID. This value is read only. Every node in the Grooper tree structure is identified by a GUID.
ImmediateChildCount System.Int32 Cmis Convenience method to return a count of the immediate children of this node.
InheritedDataElements System.Collections.Generic.IEnumerable(Of T) Returns a list of inherited Data Elements.
InitialRowCount System.Int32 The number of rows the table is to be initialized with. Specifies the number of rows which should be present in a newly-created instance of the table. This value also serves as a minimum row count for data extraction. If data extraction produces less rows, blank rows will be added to make up the difference.
IsDirty System.Boolean Gets or sets a value indicating whether this node has been changed and needs to be written to the database. Please note that value is set automatically when any properties of a node are changed.
IsEmpty System.Boolean Returns true if all properties with a ViewableAttribute are set to their default value.
IsExportable System.Boolean Indicates whether this node may be exported.
IsReadOnly System.Boolean Indicates whether this node has the ReadOnly attribute set.
IsRenameable System.Boolean Returns False if this node depends on a fixed name.
IsSystem System.Boolean Indicates whether this node has the System attribute set.
IsWriteable System.Boolean Indicates whether this node is writable. To be writable, a node must not have the ReadOnly or System attribute set, and the current user must have Write access to it.
Item(Name As String) Grooper.GrooperNode Returns the child node with the provided name.
Parameters
Name
          Type: String
          The name of the child node.
Item(Index As Int32) Grooper.GrooperNode Returns the child node with the provided name.
Parameters
Index
          Type: Int32
          The 0-based index of the child node.
LabelAlignment System.Drawing.ContentAlignment The text alignment to be used for the data element's label.Can be one of the following values:
  • TopLeft: Content is vertically aligned at the top, and horizontally aligned on the left.
  • TopCenter: Content is vertically aligned at the top, and horizontally aligned at the center.
  • TopRight: Content is vertically aligned at the top, and horizontally aligned on the right.
  • MiddleLeft: Content is vertically aligned in the middle, and horizontally aligned on the left.
  • MiddleCenter: Content is vertically aligned in the middle, and horizontally aligned at the center.
  • MiddleRight: Content is vertically aligned in the middle, and horizontally aligned on the right.
  • BottomLeft: Content is vertically aligned at the bottom, and horizontally aligned on the left.
  • BottomCenter: Content is vertically aligned at the bottom, and horizontally aligned at the center.
  • BottomRight: Content is vertically aligned at the bottom, and horizontally aligned on the right.
LabelPosition Grooper.Core.DataElement.LabelPositionEnum Controls how the label for this item is displayed.Can be one of the following values:
  • Left: The label is displayed to the left of the item.
  • Above: The label is displayed above the item.
  • Below: The label is displayed below the item.
  • None: The label will not be displayed.
Locked System.Boolean Returns true if the node is locked.
LockedByMe System.Boolean Returns true if the node is locked by the current running process.
Lookups System.Collections.Generic.List(Of T) A list of lookup operations to be performed on child elements of this container. Each Lookup Specification defines a lookup operation, where the value of one or more Grooper fields will be used to query an external data source, such as a database. The results of the query can be used to validate existing field values or populate additional field values.

Lookup Specifications are executed at the following times:

  • Immediately after Extract runs, all lookup specifications in the Data Model will be executed.
  • When the value of a field is changed by a user, all lookup specifications referencing that field will be executed.
  • When a user manually triggers a lookup in the Index Panel to resolve a case where duplicate results were returned.
Name System.String The name of the node. Names must be unique within the parent container node. Use DisplayName when displaying in a user interface. Some object types generate the name displayed to users dynamically by overriding the DisplayName property. For example, a BatchPage node uses the unique GUID Id as its actual name, but for display purposes uses its position within the parent folder to produce "Page 1", "Page 2", etc.
NextNode Grooper.GrooperNode The sibling node following this node.
NodeIndex System.Int32 The index of this node within the parent container.
NumChildren System.Int32 The number of children this node contains.
ParentId System.Guid The ID of the parent node. Use the ParentNode property to access the parent.
ParentNode Grooper.GrooperNode Returns the parent node.
PreserveOcrData System.Boolean Indicates whether character-level position and confidence data should be saved. If true, character-level detail will be saved with the data element. If false, only the raw text of the element's value will be saved. As storing this information increases storage requirements and reduces performance, this feature should only be enabled for individual data elements in cases where it is needed.

Character-level data can be useful in custom activities or custom export sceanrios, and is also used in certain built-in Grooper activities.

PrevNode Grooper.GrooperNode The sibling node preceding this node.
PropertiesJson System.String Gets or sets the JSON string which contains the serialized properties for this node. Do not set this property unless you know what you are doing.
PropsDirty System.Boolean Gets or sets a value indicating whether the properties of this node have changes which should be written to the database on the next call to SaveChanges().
Root Grooper.GrooperRoot Returns the root node
RowId System.Int32 Unique identifier for the database row associated with this node. This value is read only. A Grooper tree structure can make use of multiple database tables. The Id value is a GUID that uniquely identifies the node globally. The RowId is an integer identity value which uniquely identifies the row in a specific database table.
RowVersion System.String Unique value that indicates the version of the database row. Used to detect changes written to the database by another process. This value is read only.
RubberbandOcrProfile Grooper.OCR.OcrProfile The OCR Profile to use for rubberband OCR.
RuntimeDataElements System.Collections.Generic.IEnumerable(Of T) Returns immediate child DataElements, plus all inherited DataElements
RuntimeRubberbandOcrProfile Grooper.OCR.OcrProfile Returns the OCR Profile to be used for rubberband OCR operations.
SingleInstanceFields System.Collections.Generic.IEnumerable(Of T) Returns Data Fields that are immediate children of this container and immediate child Data Fields of any Data Section whose Capture Scope is configured so that only one section instance will ever be present.
TotalBackColor System.Drawing.Color The background color for the table column headers.
TotalFields System.Collections.Generic.List(Of T) Any columns selected in this list will be summed in the total row at the bottom of the table.
TotalFontStyle System.Drawing.FontStyle The font style to use for the total row.A combination of the following flags:
  • Regular: Normal text.
  • Bold: Bold text.
  • Italic: Italic text.
  • Underline: Underlined text.
  • Strikeout: Text with a line through the middle.
TotalForeColor System.Drawing.Color The background color for the table column headers.
TypeDisplayName System.String A human-readable name for the type of this node.
TypeName System.String The typename of the current node. This property is read only. Type names are the name of the class inherited from GrooperNode.
UseCount System.Int32 Returns the count of nodes referencing this node.
ValueNames System.Collections.Generic.IEnumerable(Of T) Iterates through the list of value names associated with this node.
ValuesString System.String Gets JSON string which contains the serialized values for this node.
Visible System.Boolean Controls whether this item is visible in the user interface.

Methods

Method Name Description
AppendNode(NewNode As GrooperNode) As Boolean Appends a new node as child of this node.
Parameters
NewNode
          Type: GrooperNode
          The node to append.
AppendTextFile(FileName As String, Value As String)
Parameters
FileName
          Type: String
          
 
Value
          Type: String
          
CcAppendChild(NewNode As GrooperNode, ipd As IProgressDisplay) As Boolean Appends the specified node as a child of this node.
Parameters
NewNode
          Type: GrooperNode
          The node to append to the child list.
 
ipd
          Type: IProgressDisplay
          
CcAppendChildren(NewNodes As IEnumerable(Of GrooperNode), ipd As IProgressDisplay) As Boolean Appends the specified items as a children of this node.
Parameters
NewNodes
          Type: IEnumerable`1
          
 
ipd
          Type: IProgressDisplay
          
CcDeleteChild(Id As Guid, ipd As IProgressDisplay) As Boolean Deletes the specified child node.
Parameters
Id
          Type: Guid
          The ID of the node to delete.
 
ipd
          Type: IProgressDisplay
          Progress display object.
CcDeleteChildren(Ids As IEnumerable(Of Guid), ipd As IProgressDisplay) As Boolean
Parameters
Ids
          Type: IEnumerable`1
          
 
ipd
          Type: IProgressDisplay
          
CcInsertChild(NewNode As GrooperNode, InsertIndex As Int32) As Boolean Appends the specified node as a child of this node at a specific position.
Parameters
NewNode
          Type: GrooperNode
          The node to insert.
 
InsertIndex
          Type: Int32
          The 0-based index at which the node should be inserted.
CcMove(NewParent As GrooperNode, InsertIndex As Int32) As Boolean Moves the node to a new parent, optionally inserting it at a specific index.
Parameters
NewParent
          Type: GrooperNode
          The new parent node.
 
InsertIndex
          Type: Int32
          The 0-based index at which the node should inserted.
CcRenameChild(Id As Guid, NewName As String, EnsureUnique As Boolean) As Boolean Renames the child node with the specified ID.
Parameters
Id
          Type: Guid
          The ID of the node to rename.
 
NewName
          Type: String
          The new name.
 
EnsureUnique
          Type: Boolean
          If set to true, a unique name will be automatically generated if needed. If set to false, and the provided name is already in use, an error will be generated.
ChangeFileStore(NewFileStore As FileStore) As Int32 Moves the files for this node to the indicated filestore.
Parameters
NewFileStore
          Type: FileStore
          The new file store.
Clear() Removes a value from this node.
ClearValue(ValueName As String) Removes a value from this node.
Parameters
ValueName
          Type: String
          The name of the value to remove.
Clone(gdbDst As GrooperDb, KeepId As Boolean) As GrooperNode Creates a clone of this node.
Parameters
gdbDst
          Type: GrooperDb
          
 
KeepId
          Type: Boolean
          
CloneBranch(gdbDst As GrooperDb, ipd As IProgressDisplay, KeepIds As Boolean) As GrooperNode Clones this branch of the tree.
Parameters
gdbDst
          Type: GrooperDb
          
 
ipd
          Type: IProgressDisplay
          
 
KeepIds
          Type: Boolean
          
ContainsId(Id As Guid) As Boolean Determines if a node with the specified Id value is present as an immediate child of this node.
Parameters
Id
          Type: Guid
          The Id to search for.
ContainsName(Name As String) As Boolean Determines if a node with the specified name is present as an immediate child of this node.
Parameters
Name
          Type: String
          The Id to search for.
CopyFileTo(SrcFileName As String, DstNode As GrooperNode, DstFileName As String) As Boolean Copies a file from this node to another GrooperNode.
Parameters
SrcFileName
          Type: String
          The filename to copy.
 
DstNode
          Type: GrooperNode
          The destination node.
 
DstFileName
          Type: String
          The destination filename.
CopyPropertiesFrom(Node As GrooperNode) Copies the properties from another GrooperNode.
Parameters
Node
          Type: GrooperNode
          
CreateChild(ItemType As Type, ItemName As String) As GrooperNode Creates a new child node with the specified type and appends it to the current node.
Parameters
ItemType
          Type: Type
          The type of the new node.
 
ItemName
          Type: String
          The name of the new node.
CreateChildren(ItemType As Type, ItemNames As IEnumerable(Of String)) As List(Of GrooperNode) Creates multiple child nodes with the specified type and appends it to the current node.
Parameters
ItemType
          Type: Type
          The type of nodes to create.
 
ItemNames
          Type: IEnumerable`1
          The name of the new node.
CreateFileCopy(SrcFileName As String, DstFileName As String) As Boolean Copies the specified file to a new file with a different name.
Parameters
SrcFileName
          Type: String
          The source file name.
 
DstFileName
          Type: String
          The destination file name.
Delete() As Boolean Deletes the database row associated with this node, as well as all file objects associated with this node.
DeleteFile(FileName As String, IgnoreErrors As Boolean) As Boolean Deletes a file associated with this node.
Parameters
FileName
          Type: String
          The filename under which the file was previously stored.
 
IgnoreErrors
          Type: Boolean
          
DisableScript() Disables the script associated with this node by deleting the compiled assemblies.
EnsureLoaded(Recursive As Boolean) Ensures that the contents of the current node have been loaded at least 1 level deep.
Parameters
Recursive
          Type: Boolean
          If true, the entire branch is loaded. Otherwise, only immediate children will be loaded.
FileEntryExists(FileName As String) As Boolean Determines if file entry exists with the specified name.
Parameters
FileName
          Type: String
          The name of the file.
Finalize()
FindInstances(Source As DataElementInstance) As Boolean Executes the extraction logic of this DataElement against a source DataInstance.
Parameters
Source
          Type: DataElementInstance
          The DataInstance from which extraction should be performed.
GetAncestor(LevelsAbove As Int32) As GrooperNode Returns the ancestor node a specific number of levels above this node.
Parameters
LevelsAbove
          Type: Int32
          The number of levels. A value of 1 will return the parent of this node.
GetAncestorOfType(Type As Type) As GrooperNode Returns the first ancestor up the tree which has the indicated type, or which derived from the indicated type.
Parameters
Type
          Type: Type
          The type of GrooperNode object to find.
GetBranchReferenceCount(TargetRefId As Guid) As Int32 Returns the number of references from this Branch to Node indicated by TargetRefId.
Parameters
TargetRefId
          Type: Guid
          
GetBranchReferences() As List(Of Guid) Returns a consolidated list of references to this node or any of its children.
GetBranchReferencesToMe() As List(Of Guid) Returns a consolidated list of references to this node or any of its children.
GetDataElementProfile(Source As DataElementInstance) As DataElementProfile
Parameters
Source
          Type: DataElementInstance
          
GetDisplayPathFrom(Ancestor As GrooperNode) As String Returns a string representing the path (made from display names) between this node and an ancestor node above it in the tree structure.
Parameters
Ancestor
          Type: GrooperNode
          The node to calculate a path from. This node must be an ancestor of the current node.
GetFileEntry(FileName As String) As ContentFile Retrieves a file entry by name.
Parameters
FileName
          Type: String
          The name of the file.
GetFromPath(Path As IEnumerable(Of String)) As DataElement
Parameters
Path
          Type: IEnumerable`1
          
GetLastError() As String Returns the last error message which was set with SetLastError() or WriteToLog().
GetLevelsBelow(Type As Type) As Int32 Gets the number of levels between this node and a node above it of a specific type.
Parameters
Type
          Type: Type
          The node type to measure from.
GetLevelsBelow(Node As GrooperNode) As Int32 Gets the number of levels between this node and a specific ancestor node.
Parameters
Node
          Type: GrooperNode
          The node to measure from.
GetLock() As NodeLock Obtains the lock object for this node.
GetNode(IdToFind As Guid) As GrooperNode Finds a node with the specified Id value.
Parameters
IdToFind
          Type: Guid
          The unique Id value to find.
GetPathFrom(Ancestor As GrooperNode) As String Returns a string representing the path between this node and an ancestor node above it in the tree structure.
Parameters
Ancestor
          Type: GrooperNode
          The node to calculate a path from. This node must be an ancestor of the current node.
GetPathFromRoot() As String Returns a string representing the path between this node the root node.
GetPathTo(Element As DataElement, UseCodeNames As Boolean, Delimiter As String) As String
Parameters
Element
          Type: DataElement
          
 
UseCodeNames
          Type: Boolean
          
 
Delimiter
          Type: String
          
GetPathTypesFromRoot() As String Returns a string representing the path types between this node and the root node.
GetProperties() As PropertyDescriptorCollection
GetReferences() As List(Of GrooperNode) Returns a list of references to this node.
GetReferencesToMe() As List(Of Guid) Returns a list of references to this node.
GetRuntimeExtractMethod(Source As DataInstance) As TableExtractMethod
Parameters
Source
          Type: DataInstance
          
GetShadowNode(IncludePath As Boolean) As ShadowNode
Parameters
IncludePath
          Type: Boolean
          
GetUniqueName(BaseName As String) As String Creates a unique name for a child node, starting from a base name and adding a number at the end if needed.
Parameters
BaseName
          Type: String
          The base name.
GetValue(ValueName As String) As TheType Reads a serialized JSON object from a value.
Parameters
ValueName
          Type: String
          The value name under which the object was previously stored.
GetValue(ValueName As String) As String Reads a string value from this node.
Parameters
ValueName
          Type: String
          The value name under which the string was previously stored.
HasChanged() As Boolean Determines if the database row associated with this node has been modified by another process since the time it was read.
HasValue(ValueName As String) As Boolean Determines if a value exists on this node.
Parameters
ValueName
          Type: String
          The name of the value to check.
InitScript() As Boolean Initializes the script associated with this node.
InsertNode(NewNode As GrooperNode, im As InsertMethod) As Boolean Inserts a node as a child of this node.
Parameters
NewNode
          Type: GrooperNode
          The node to insert.
 
im
          Type: InsertMethod
          The insert method.
InsertNode(NewNode As GrooperNode, InsertIndex As Int32) As Boolean Inserts a node as a child of this node.
Parameters
NewNode
          Type: GrooperNode
          The node to insert.
 
InsertIndex
          Type: Int32
          The index at which the item should be inserted, or the constant GrooperNode.Append.
IsDescendantOf(Node As GrooperNode) As Boolean Determines if the specified node is an ancestor of this node.
Parameters
Node
          Type: GrooperNode
          The node to check.
IsDescendantOf(Type As Type) As Boolean Determines if a node with the specified type or deriving from the specified type is an ancestor of this node.
Parameters
Type
          Type: Type
          The type to check.
IsPropertyEnabled(PropertyName As String) As Nullable(Of Boolean) Defines whether a property is currently enabled.
Parameters
PropertyName
          Type: String
          The name of the property to determine the enabled state for.
IsPropertyVisible(PropertyName As String) As Nullable(Of Boolean) Defines whether a property is currently visible.
Parameters
PropertyName
          Type: String
          The name of the property to determine the visible state for.
IsType(Type As Type) As Boolean Returns true if the object is of the type specified, or if it derives from the type specfied.
Parameters
Type
          Type: Type
          The type to check.
LoadFile(FileName As String) As ContentStream Loads a file as a stream.
Parameters
FileName
          Type: String
          The filename to read.
LoadFileObject(FileName As String, AdditionalTypes As IEnumerable(Of Type)) As TheType Loads a JSON-serialized object from the file store.
Parameters
FileName
          Type: String
          Filename the object was previously stored under.
 
AdditionalTypes
          Type: IEnumerable`1
          
LoadImage(FileName As String) As GrooperImage Loads an image from the specified filename.
Parameters
FileName
          Type: String
          
LoadTextFile(FileName As String) As String Loads a text file from the file store.
Parameters
FileName
          Type: String
          The filename under which the file was previously saved.
Lock(ProcedureName As String) As Boolean
Parameters
ProcedureName
          Type: String
          
Lock(ProcedureName As String, ReloadIfChanged As Boolean) As Boolean
Parameters
ProcedureName
          Type: String
          
 
ReloadIfChanged
          Type: Boolean
          
Lock(ProcedureName As String, ReloadIfChanged As Boolean, Timeout As Int32) As Boolean Attempts to obtain an exclusive lock on the node.
Parameters
ProcedureName
          Type: String
          The name of the procedure requesting the lock.
 
ReloadIfChanged
          Type: Boolean
          If true, the node will be checked to see if it has changed since it was read from the database. If so, it will be reloaded.
 
Timeout
          Type: Int32
          
Move(NewParent As GrooperNode, InsertIndex As Int32) As Boolean Moves this node from its current location in the tree structure to a new location.
Parameters
NewParent
          Type: GrooperNode
          The parent node that this node should be moved to.
 
InsertIndex
          Type: Int32
          The index at which the item should be inserted, or the constant GrooperNode.Append.
MoveChildren(NewParent As GrooperNode) As Boolean Moves all children of this node to another node.
Parameters
NewParent
          Type: GrooperNode
          
MoveItemsHere(OldParent As GrooperNode, Items As IEnumerable(Of GrooperNode)) As Boolean
Parameters
OldParent
          Type: GrooperNode
          
 
Items
          Type: IEnumerable`1
          
NameIsConflict(NewName As String) As Boolean Determines if renaming this node to the specified value will create a name conflict with another node in the same parent container.
Parameters
NewName
          Type: String
          The name to check.
NewInstance(ParentInstance As DataElementInstance) As DataInstance Creates a new, blank DataInstance reprensent the default value of this DataElement.
Parameters
ParentInstance
          Type: DataElementInstance
          The BatchFolder object associated with the extraction operation.
NodeFromPath(Path As String, FromRoot As Boolean) As GrooperNode Finds a child node using a path string.
Parameters
Path
          Type: String
          A GrooperNode object, or Null/Nothing if the path is not found.
 
FromRoot
          Type: Boolean
          If true, then search from root, otherwise search from the current node.
PathExists(Path As String) As Boolean Determines if a node exists for a specific path.
Parameters
Path
          Type: String
          The path to check.
RaiseValidateRowEvent(Args As InstanceEventArgs)
Parameters
Args
          Type: InstanceEventArgs
          
Reload(ReloadChildren As Boolean) As Boolean Reloads this node from the database.
Parameters
ReloadChildren
          Type: Boolean
          
Remove() Removes this node and marks it for deletion on the next call to GrooperDb.SaveChanges().
RenameFile(OldFileName As String, NewFileName As String) As Boolean Renames a file associated with this node.
Parameters
OldFileName
          Type: String
          The current filename.
 
NewFileName
          Type: String
          The new filename.
SaveFile(Stream As Stream, MimeType As String, DstFileName As String, AllowOverwrite As Boolean) Saves a file from a stream to Grooper.
Parameters
Stream
          Type: Stream
          
 
MimeType
          Type: String
          
 
DstFileName
          Type: String
          
 
AllowOverwrite
          Type: Boolean
          
SaveFileObject(FileName As String, Item As TheType, AdditionalTypes As IEnumerable(Of Type), AllowOverwrite As Boolean) Saves an object to the file store using JSON serialization.
Parameters
FileName
          Type: String
          The filename to store the object under.
 
Item
          Type: TheType
          The object to be stored.
 
AdditionalTypes
          Type: IEnumerable`1
          
 
AllowOverwrite
          Type: Boolean
          
SaveImageFile(Image As GrooperImage, DstFileName As String, AllowOverwrite As Boolean) Save an image file on this node under the specified filename.
Parameters
Image
          Type: GrooperImage
          The image to save.
 
DstFileName
          Type: String
          The filename under which to save the image.
 
AllowOverwrite
          Type: Boolean
          If set to false, the method will fail if a file with the same name already exists.
SaveTextFile(DstFileName As String, TextContent As String, MimeType As String, AllowOverwrite As Boolean) Saves text data to a file in the file store.
Parameters
DstFileName
          Type: String
          The filename to store the file under.
 
TextContent
          Type: String
          The text content to save.
 
MimeType
          Type: String
          The MIME type to associate with the data.
 
AllowOverwrite
          Type: Boolean
          
Serialize() As String Serializes the object.
SetBranchAttributes(Value As NodeAttributes) Sets the attributes on this node and all nodes below it.
Parameters
Value
          Type: NodeAttributes
          Attributes to set.
SetDatabase(Database As GrooperDb) Sets the database connection of the object.
Parameters
Database
          Type: GrooperDb
          
SetLastError(Message As String, pa() As Object()) Sets an error message which can be retrieved by calling code via GetLastError().
Parameters
Message
          Type: String
          The message. Uses String.Format syntax.
 
pa
          Type: Object
          The String.Format parameters.
SetValue(ValueName As String, Value As TheType) Saves an object to a value using JSON serialization.
Parameters
ValueName
          Type: String
          The value name to store the object under.
 
Value
          Type: TheType
          The object to store.
SetValue(ValueName As String, Value As String) Saves a string value to this node.
Parameters
ValueName
          Type: String
          The value name under which to store the string.
 
Value
          Type: String
          The string to store.
SortChildren(SortByIndex As Boolean) Sorts the children of this node on name.
Parameters
SortByIndex
          Type: Boolean
          
TopChildren() As IEnumerable(Of NodeType) Returns the highest level nodes which have a type matching the supplied parameter. Items of the supplied type which are below another item of the same type will not be returned.
ToString() As String Returns the display name for the node.
Unload() Unloads the children of this node. Call this method to free up the memory associated with large branches of the tree.
Unlock() Unlocks a previously locked node.
Update() As Boolean Updates the database row associated with this node with any fields which have been changed.
ValidateProperties() As ValidationErrorList Validates the properties of the object, returning a list of validation errors.
WriteToLog(Type As EventType, Message As String, pa() As Object()) Writes an entry to the log table in the database.
Parameters
Type
          Type: EventType
          The type of event to log.
 
Message
          Type: String
          The message, or message format. Uses String.Format syntax.
 
pa
          Type: Object
          Parameters for String.Format
WriteToLog(ex As Exception, Message As String, pa() As Object()) Writes an error to the Grooper event log, using the stack trace from the provided exception and the specified message.
Parameters
ex
          Type: Exception
          The exception.
 
Message
          Type: String
          The message to log.
 
pa
          Type: Object
          String.Format() params.
WriteToLog(ex As Exception) Writes an error to the Grooper event log, using the stack trace and message contained the provided exception.
Parameters
ex
          Type: Exception
          The exception to log.

Events

Event Name Description
ValidateRow(sender As Object, e As InstanceEventArgs) Raised when a row in the table should be validated.

InstanceEventArgs
Instance
 Type: TableRowInstance
 A DataInstance object containing the results of data extraction for this Data Model. See Data Instances for more information.
 
SkipFieldValidation
 Type: Boolean
 Tells Grooper to skip raising the ValidateField() event for each field. If a script sets this value to true, it is assumed that the script has validated the entire document and no further validation is needed.

Commands

Command Name Description
Add Multiple Items Creates multiple items as children of the selected object.
Clear Children Deletes all children of the selected object(s).
Export to Zip Archive Exports a set of Grooper nodes to a ZIP archive.
Publish to Grooper Repository Publishes one or more Nodes to one or more Target Grooper Repositories.
Unpublish Unpublishes a set of Grooper Nodes to a Target Grooper Repository.