9[DefaultEvent(
"CollectionChanged")]
10[DefaultProperty(
"Table")]
11[Editor(
"Microsoft.VSDesigner.Data.Design.DataRelationCollectionEditor, Microsoft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a",
"System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
86 this.RelationPropertyChanged?.Invoke(
this, ccevent);
117 if (!base.CanRemove(relation))
227 if (relations ==
null)
233 if (dataRelation !=
null)
257 base.AddCore(relation);
298 foreignKeyConstraint.ConstraintName = relation.
RelationName;
312 base.RemoveCore(relation);
357 for (
int j = 0; j < num; j++)
377 dataRelation2.Nested = dataRelation.
_nested;
459 if (relations ==
null)
465 if (dataRelation !=
null)
517 if (relation ==
null)
523 if (relation.
DataSet == dataSet)
557 for (
int num =
count - 1; num >= 0; num--)
591 for (
int i = 0; i <
list.Count; i++)
600 for (
int i = 0; i <
count; i++)
610 public virtual int IndexOf(
string? relationName)
623 if (name !=
null && 0 < name.Length)
627 for (
int i = 0; i <
count; i++)
635 num = ((num == -1) ? i : (-2));
677 for (
int i = 0; i <
count; i++)
679 if (
NamesEqual(name,
this[i].RelationName, fCaseSensitive:
true, locale) != 0)
692 if (relation !=
null)
722 if (dataRelation ==
null)
732 if (dataRelation ==
null)
742 if (relation ==
null)
747 if (relation.
DataSet != dataSet)
virtual int Add(object? value)
virtual void RemoveAt(int index)
static bool IsCatchableExceptionType(Exception e)
UniqueConstraint FindKeyConstraint(DataColumn[] columns)
ForeignKeyConstraint FindForeignKeyConstraint(DataColumn[] parentColumns, DataColumn[] childColumns)
void Add(Constraint constraint)
void UnregisterName(string name)
static readonly DataCommonEventSource Log
override void AddRange(DataRelation[] relations)
override void AddCore(DataRelation relation)
readonly DataSet _dataSet
override DataSet GetDataSet()
DataRelation[] _delayLoadingRelations
DataSetRelationCollection(DataSet dataSet)
readonly ArrayList _relations
override void RemoveCore(DataRelation relation)
void FinishInitRelations()
override void AddCore(DataRelation relation)
override DataSet GetDataSet()
readonly ArrayList _relations
void AddCache(DataRelation relation)
override bool CanRemove(DataRelation relation)
CollectionChangeEventHandler RelationPropertyChanged
void OnRelationPropertyChanged(CollectionChangeEventArgs ccevent)
readonly bool _fParentCollection
readonly DataTable _table
void RemoveCache(DataRelation relation)
override void RemoveCore(DataRelation relation)
DataTableRelationCollection(DataTable table, bool fParentCollection)
void Remove(DataRelation relation)
virtual DataRelation Add(string? name, DataColumn[] parentColumns, DataColumn[] childColumns)
CollectionChangeEventHandler? CollectionChanged
virtual void OnCollectionChanging(CollectionChangeEventArgs ccevent)
int InternalIndexOf(string name)
void Add(DataRelation relation)
void RegisterName(string name)
virtual void AddCore(DataRelation relation)
DataRelation _inTransition
void CopyTo(DataRelation[] array, int index)
virtual void OnCollectionChanged(CollectionChangeEventArgs ccevent)
virtual DataRelation Add(string? name, DataColumn[] parentColumns, DataColumn[] childColumns, bool createConstraints)
virtual bool Contains(string? name)
virtual int IndexOf(DataRelation? relation)
static int s_objectTypeCount
virtual DataRelation Add(string? name, DataColumn parentColumn, DataColumn childColumn, bool createConstraints)
virtual DataRelation Add(DataColumn[] parentColumns, DataColumn[] childColumns)
virtual DataRelation Add(DataColumn parentColumn, DataColumn childColumn)
virtual int IndexOf(string? relationName)
CollectionChangeEventHandler _onCollectionChangedDelegate
virtual bool CanRemove(DataRelation? relation)
virtual void RemoveCore(DataRelation relation)
void UnregisterName(string name)
virtual void AddRange(DataRelation[]? relations)
CollectionChangeEventHandler _onCollectionChangingDelegate
virtual DataRelation Add(string? name, DataColumn parentColumn, DataColumn childColumn)
CollectionChangeEventHandler? CollectionChanging
string MakeName(int index)
DataColumn[] ChildColumnsReference
string[] _childColumnNames
void SetChildKeyConstraint(ForeignKeyConstraint value)
void SetDataSet(DataSet dataSet)
string _parentTableNamespace
DataColumn[] ParentColumnsReference
void SetParentKeyConstraint(UniqueConstraint value)
virtual DataTable ParentTable
virtual ? DataSet DataSet
virtual DataTable ChildTable
void ValidateMultipleNestedRelations()
virtual string RelationName
void CheckNestedRelations()
string[] _parentColumnNames
string _childTableNamespace
void CheckNamespaceValidityForNestedRelations(string ns)
DataRelationCollection Relations
DataTableCollection Tables
void OnRemoveRelationHack(DataRelation relation)
void UpdatePropertyDescriptorCollectionCache()
ConstraintCollection Constraints
DataColumnCollection Columns
DataRelationCollection ParentRelations
DataRelationCollection ChildRelations
static Exception CaseInsensitiveNameConflict(string name)
static Exception RelationDataSetNull()
static Exception ChildTableMismatch()
static Exception ArgumentOutOfRange(string paramName)
static Exception CaseLocaleMismatch()
static Exception RelationOutOfRange(object index)
static Exception RelationAlreadyExists()
static Exception ParentTableMismatch()
static Exception RelationAlreadyInOtherDataSet()
static Exception DuplicateRelation(string relation)
static Exception InvalidOffsetLength()
static Exception ForeignRelation()
static Exception RelationDoesNotExist()
static Exception TraceExceptionWithoutRethrow(Exception e)
static Exception RelationAlreadyInTheDataSet()
static Exception RelationTableNull()
static Exception RelationNotInTheDataSet(string relation)
static Exception RelationTableWasRemoved()
static Exception ArgumentNull(string paramName)
static readonly CollectionChangeEventArgs s_refreshEventArgs
int NamesEqual(string s1, string s2, bool fCaseSensitive, CultureInfo locale)
static ? Delegate Remove(Delegate? source, Delegate? value)
static ? Delegate Combine(Delegate? a, Delegate? b)
static CultureInfo InvariantCulture
static int Increment(ref int location)
delegate void CollectionChangeEventHandler(object? sender, CollectionChangeEventArgs e)
bool ColumnsEqual(DataKey key)