Class RelationDescriptorCollection
A collection of RelationDescriptor with constraints for a relation between two tables and schema information of child tables. An instance of this collection is returned by the Relations property of a TableDescriptor.
Inheritance
Implements
Inherited Members
Namespace: Syncfusion.Grouping
Assembly: Syncfusion.Grouping.Base.dll
Syntax
public class RelationDescriptorCollection : IDisposable, IList, ICollection, IEnumerable, IInsideCollectionEditorProperty, ICloneable
Constructors
RelationDescriptorCollection()
Initializes a new empty collection.
Declaration
public RelationDescriptorCollection()
Fields
Empty
A Read-only and empty collection.
Declaration
public static RelationDescriptorCollection Empty
Field Value
| Type |
|---|
| RelationDescriptorCollection |
VerboseEnsureInitialized
Debug Helper. Set this true if you want to have verbose output to Debug window for lazy population.
Declaration
public static bool VerboseEnsureInitialized
Field Value
| Type |
|---|
| System.Boolean |
Properties
Count
Gets the number of elements contained in the collection. The property also ensures that the collection is in sync with the underlying table if changes have been made to the table or the TableDescriptor.
Declaration
public int Count { get; }
Property Value
| Type |
|---|
| System.Int32 |
Remarks
The method calls Syncfusion.Grouping.RelationDescriptorCollection.EnsureInitialized(System.Boolean).
HasSelfRelation
Determines if a self-relation was found when the collection was auto-populated.
Declaration
public bool HasSelfRelation { get; }
Property Value
| Type |
|---|
| System.Boolean |
InsideCollectionEditor
Gets or sets whether the collection is manipulated inside a collection editor.
Declaration
public bool InsideCollectionEditor { get; set; }
Property Value
| Type |
|---|
| System.Boolean |
IsFixedSize
Returns False since this collection has no fixed size.
Declaration
public bool IsFixedSize { get; }
Property Value
| Type |
|---|
| System.Boolean |
IsModified
Determines if the collection was modified from its default state.
Declaration
public bool IsModified { get; }
Property Value
| Type |
|---|
| System.Boolean |
IsReadOnly
Determines if the collection is Read-only.
Declaration
public bool IsReadOnly { get; }
Property Value
| Type |
|---|
| System.Boolean |
IsSynchronized
Returns False.
Declaration
public bool IsSynchronized { get; }
Property Value
| Type |
|---|
| System.Boolean |
Item[Int32]
Gets or sets the element at the zero-based index.
Declaration
public RelationDescriptor this[int index] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index |
Property Value
| Type |
|---|
| RelationDescriptor |
Item[String]
Gets or sets the element with the specified name.
Declaration
public RelationDescriptor this[string name] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name |
Property Value
| Type |
|---|
| RelationDescriptor |
NestedCount
For internal use.
Declaration
public int NestedCount { get; }
Property Value
| Type |
|---|
| System.Int32 |
ParentTableDescriptor
The parent TableDescriptor this descriptor belongs to.
Declaration
public TableDescriptor ParentTableDescriptor { get; }
Property Value
| Type |
|---|
| TableDescriptor |
ShouldPopulate
Gets or sets whether collection should check for changes in engine schema or underlying datasource schema when EnsureInitialized gets called.
Declaration
public bool ShouldPopulate { get; set; }
Property Value
| Type |
|---|
| System.Boolean |
Version
The version number of this collection. The version is increased each time the collection or an element within the collection was modified.
Declaration
public int Version { get; }
Property Value
| Type |
|---|
| System.Int32 |
Methods
Add(RelationDescriptor)
Adds RelationDescriptor to the end of the collection.
Declaration
public int Add(RelationDescriptor value)
Parameters
| Type | Name | Description |
|---|---|---|
| RelationDescriptor | value | The element to be added to the end of the collection. The value must not be a NULL reference (Nothing in Visual Basic). |
Returns
| Type | Description |
|---|---|
| System.Int32 | The zero-based collection index at which the value has been added. |
AddRange(RelationDescriptor[])
Adds multiple elements at the end of the collection.
Declaration
public void AddRange(RelationDescriptor[] relationDescriptors)
Parameters
| Type | Name | Description |
|---|---|---|
| RelationDescriptor[] | relationDescriptors | The array whose elements should be added to the end of the collection. The array and its elements cannot be NULL references (Nothing in Visual Basic). |
Clear()
Removes all elements from the collection.
Declaration
public void Clear()
Clone()
Creates a copy of the collection and all its elements.
Declaration
public RelationDescriptorCollection Clone()
Returns
| Type | Description |
|---|---|
| RelationDescriptorCollection | A copy of the collection and all its elements. |
Contains(RelationDescriptor)
Determines if the element belongs to this collection.
Declaration
public bool Contains(RelationDescriptor value)
Parameters
| Type | Name | Description |
|---|---|---|
| RelationDescriptor | value | The Object to locate in the collection. The value can be a NULL reference (Nothing in Visual Basic). |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if item is found in the collection; otherwise, False. |
Remarks
The method ensures that the collection is in sync with the underlying table if changes have been made to the table or the TableDescriptor.
Contains(String)
Determines if an element with the specified name belongs to this collection.
Declaration
public bool Contains(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The name of the element to locate in the collection. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if item is found in the collection; otherwise, False. |
CopyTo(RelationDescriptor[], Int32)
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
Declaration
public void CopyTo(RelationDescriptor[] array, int index)
Parameters
| Type | Name | Description |
|---|---|---|
| RelationDescriptor[] | array | The one-dimensional array that is the destination of the elements copied from ArrayList. The array must have zero-based indexing. |
| System.Int32 | index | The zero-based index in array at which copying begins. |
Dispose()
Disposes the object and collection items.
Declaration
public void Dispose()
EnableOneTimePopulate()
When called the ShouldPopulate property will be set true temporarily until the next EnsureInitialized call and then be reset again to optimize subsequent lookups. The Engine calls this method when schema changes occured (PropertyChanged was raised).
Declaration
public void EnableOneTimePopulate()
Equals(Object)
Determines if the specified object and current object are equal.
Declaration
public override bool Equals(object obj)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | obj | An object to compare. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if both objects are equal; False otherwise. |
Overrides
GetEnumerator()
Returns an enumerator for the entire collection
Declaration
public RelationDescriptorCollectionEnumerator GetEnumerator()
Returns
| Type | Description |
|---|---|
| RelationDescriptorCollectionEnumerator | An Enumerator for the entire collection. |
Remarks
Enumerators only allow reading the data in the collection. Enumerators cannot be used to modify the underlying collection.
GetHashCode()
Serves as a hash function.
Declaration
public override int GetHashCode()
Returns
| Type | Description |
|---|---|
| System.Int32 | Hash code. |
Overrides
IndexOf(RelationDescriptor)
Returns the zero-based index of the occurrence of the element in the collection.
Declaration
public int IndexOf(RelationDescriptor value)
Parameters
| Type | Name | Description |
|---|---|---|
| RelationDescriptor | value | The element to locate in the collection. The value can be a NULL reference (Nothing in Visual Basic). |
Returns
| Type | Description |
|---|---|
| System.Int32 | The zero-based index of the occurrence of the element within the entire collection, if found; otherwise, -1. |
IndexOf(String)
Searches for the element with the specified name.
Declaration
public int IndexOf(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The name of the element to locate in the collection. |
Returns
| Type | Description |
|---|---|
| System.Int32 | The zero-based index of the occurrence of the element with matching name within the entire collection, if found; otherwise, -1. |
InitializeFrom(RelationDescriptorCollection)
Copies settings from another collection and raises Changing and Changed events if differences to the other collection are detected.
Declaration
public void InitializeFrom(RelationDescriptorCollection other)
Parameters
| Type | Name | Description |
|---|---|---|
| RelationDescriptorCollection | other | The source collection. |
Insert(Int32, RelationDescriptor)
Inserts a descriptor element into the collection at the specified index.
Declaration
public void Insert(int index, RelationDescriptor value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index | The zero-based index at which the element should be inserted. |
| RelationDescriptor | value | The element to insert. The value must not be a NULL reference (Nothing in Visual Basic). |
LoadDefault()
Resets the collection to its default state, autopopulates the collection, and marks the collection as modified. Call this method if you want to load the default items for the collection and then modify them (e.g. remove members from the auto-populated list).
Declaration
public void LoadDefault()
Modify()
Marks the collection as modified and avoids auto-population.
Declaration
public void Modify()
OnChanged(ListPropertyChangedEventArgs)
Raises the Changed event.
Declaration
protected virtual void OnChanged(ListPropertyChangedEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| ListPropertyChangedEventArgs | e | A ListPropertyChangedEventArgs that contains the event data. |
OnChanging(ListPropertyChangedEventArgs)
Raises the Changing event.
Declaration
protected virtual void OnChanging(ListPropertyChangedEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| ListPropertyChangedEventArgs | e | A ListPropertyChangedEventArgs that contains the event data. |
Remove(RelationDescriptor)
Removes the specified descriptor element from the collection.
Declaration
public void Remove(RelationDescriptor value)
Parameters
| Type | Name | Description |
|---|---|---|
| RelationDescriptor | value | The element to remove from the collection. If the value is NULL or the element is not contained in the collection the method will do nothing. |
Remarks
The method ensures that the collection is in sync with the underlying table if changes have been made to the table or the TableDescriptor.
Remove(String)
Removes the specified descriptor element with the specified name from the collection.
Declaration
public void Remove(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The name of the element to remove from the collection. If no element with that name is found in the collection, the method will do nothing. |
Remarks
The method ensures that the collection is in sync with the underlying table if changes have been made to the table or the TableDescriptor.
RemoveAt(Int32)
Removes the element at the specified index of the collection.
Declaration
public void RemoveAt(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index | The zero-based index of the element to remove. |
Reset()
Resets the collection to its default state. If the collection is bound to a TableDescriptor, the collection will autopopulate itself the next time an item inside the collection is accessed.
Declaration
public void Reset()
ToString()
Returns a string holding the current object.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| System.String | String representation of the current object. |
Overrides
Events
Changed
Occurs after a property in a nested element or the collection is changed.
Declaration
public event ListPropertyChangedEventHandler Changed
Event Type
| Type |
|---|
| ListPropertyChangedEventHandler |
Changing
Occurs before a property in a nested element or the collection is changed.
Declaration
public event ListPropertyChangedEventHandler Changing
Event Type
| Type |
|---|
| ListPropertyChangedEventHandler |
Explicit Interface Implementations
IInsideCollectionEditorProperty.InitializeFrom(Object)
Declaration
void IInsideCollectionEditorProperty.InitializeFrom(object other)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | other |
ICollection.CopyTo(Array, Int32)
Declaration
void ICollection.CopyTo(Array array, int index)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Array | array | |
| System.Int32 | index |
ICollection.Count
Declaration
int ICollection.Count { get; }
Returns
| Type |
|---|
| System.Int32 |
ICollection.SyncRoot
Declaration
object ICollection.SyncRoot { get; }
Returns
| Type |
|---|
| System.Object |
IEnumerable.GetEnumerator()
Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
| Type |
|---|
| System.Collections.IEnumerator |
IList.Add(Object)
Declaration
int IList.Add(object value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | value |
Returns
| Type |
|---|
| System.Int32 |
IList.Contains(Object)
Declaration
bool IList.Contains(object value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | value |
Returns
| Type |
|---|
| System.Boolean |
IList.get_Item(Int32)
Declaration
object IList.get_Item(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index |
Returns
| Type |
|---|
| System.Object |
IList.IndexOf(Object)
Declaration
int IList.IndexOf(object value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | value |
Returns
| Type |
|---|
| System.Int32 |
IList.Insert(Int32, Object)
Declaration
void IList.Insert(int index, object value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index | |
| System.Object | value |
IList.Item[Int32]
Declaration
object IList.this[] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index |
Returns
| Type |
|---|
| System.Object |
IList.Remove(Object)
Declaration
void IList.Remove(object value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | value |
IList.set_Item(Int32, Object)
Declaration
void IList.set_Item(int index, object value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index | |
| System.Object | value |
ICloneable.Clone()
Declaration
object ICloneable.Clone()
Returns
| Type |
|---|
| System.Object |