Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Clear() [2/2]

void System.Data.DataTable.Clear ( bool clearAll)
inlinepackageinherited

Definition at line 2557 of file DataTable.cs.

2558 {
2559 long scopeId = DataCommonEventSource.Log.EnterScope("<ds.DataTable.Clear|INFO> {0}, clearAll={1}", ObjectID, clearAll);
2560 try
2561 {
2562 _rowDiffId = null;
2563 if (_dataSet != null)
2564 {
2566 }
2567 bool flag = Rows.Count != 0;
2568 DataTableClearEventArgs e = null;
2569 if (flag)
2570 {
2571 e = new DataTableClearEventArgs(this);
2572 OnTableClearing(e);
2573 }
2574 if (_dataSet != null && _dataSet.EnforceConstraints)
2575 {
2576 ParentForeignKeyConstraintEnumerator parentForeignKeyConstraintEnumerator = new ParentForeignKeyConstraintEnumerator(_dataSet, this);
2577 while (parentForeignKeyConstraintEnumerator.GetNext())
2578 {
2579 ForeignKeyConstraint foreignKeyConstraint = parentForeignKeyConstraintEnumerator.GetForeignKeyConstraint();
2580 foreignKeyConstraint.CheckCanClearParentTable(this);
2581 }
2582 }
2583 _recordManager.Clear(clearAll);
2584 foreach (DataRow row in Rows)
2585 {
2586 row._oldRecord = -1;
2587 row._newRecord = -1;
2588 row._tempRecord = -1;
2589 row.rowID = -1L;
2590 row.RBTreeNodeId = 0;
2591 }
2592 Rows.ArrayClear();
2593 ResetIndexes();
2594 if (flag)
2595 {
2596 OnTableCleared(e);
2597 }
2598 foreach (DataColumn column in Columns)
2599 {
2601 }
2602 }
2603 finally
2604 {
2605 DataCommonEventSource.Log.ExitScope(scopeId);
2606 }
2607 }
void OnClearFunctionCalled(DataTable table)
Definition DataSet.cs:2607
virtual void OnTableClearing(DataTableClearEventArgs e)
DataRowCollection Rows
Definition DataTable.cs:701
void EvaluateDependentExpressions(DataColumn column)
DataColumnCollection Columns
Definition DataTable.cs:327
virtual void OnTableCleared(DataTableClearEventArgs e)
readonly RecordManager _recordManager
Definition DataTable.cs:74
void Clear(bool clearAll)

References System.Data.DataTable._dataSet, System.Data.DataTable._recordManager, System.Data.DataTable._rowDiffId, System.Data.DataRowCollection.ArrayClear(), System.Data.RecordManager.Clear(), System.Data.DataTable.Columns, System.Runtime.Serialization.Dictionary, System.Data.DataSet.EnforceConstraints, System.Data.DataTable.EvaluateDependentExpressions(), System.L, System.Data.DataCommonEventSource.Log, System.Data.DataTable.ObjectID, System.Data.DataSet.OnClearFunctionCalled(), System.Data.DataTable.OnTableCleared(), System.Data.DataTable.OnTableClearing(), System.Data.DataTable.ResetIndexes(), and System.Data.DataTable.Rows.