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

◆ RemoveRow()

void System.Data.DataTable.RemoveRow ( DataRow row,
bool check )
inlinepackageinherited

Definition at line 3573 of file DataTable.cs.

3574 {
3575 if (row.rowID == -1)
3576 {
3577 throw ExceptionBuilder.RowAlreadyRemoved();
3578 }
3579 if (check && _dataSet != null)
3580 {
3581 ParentForeignKeyConstraintEnumerator parentForeignKeyConstraintEnumerator = new ParentForeignKeyConstraintEnumerator(_dataSet, this);
3582 while (parentForeignKeyConstraintEnumerator.GetNext())
3583 {
3584 parentForeignKeyConstraintEnumerator.GetForeignKeyConstraint().CheckCanRemoveParentRow(row);
3585 }
3586 }
3587 int record = row._oldRecord;
3588 int record2 = row._newRecord;
3589 DataViewRowState recordState = row.GetRecordState(record);
3590 DataViewRowState recordState2 = row.GetRecordState(record2);
3591 row._oldRecord = -1;
3592 row._newRecord = -1;
3593 if (record == record2)
3594 {
3595 record = -1;
3596 }
3597 RecordStateChanged(record, recordState, DataViewRowState.None, record2, recordState2, DataViewRowState.None);
3600 row.rowID = -1L;
3602 }
DataRowCollection Rows
Definition DataTable.cs:701
void FreeRecord(ref int record)
void RecordStateChanged(int record, DataViewRowState oldState, DataViewRowState newState)

References System.Data.DataTable._dataSet, System.Data.DataRowCollection.ArrayRemove(), System.Runtime.Serialization.Dictionary, System.Data.DataTable.FreeRecord(), System.L, System.Data.DataTable.RecordStateChanged(), System.Data.ExceptionBuilder.RowAlreadyRemoved(), and System.Data.DataTable.Rows.

Referenced by System.Data.DataTable.SetNewRecordWorker(), and System.Data.DataTable.SetOldRecord().