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 |