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

◆ LoadDataRow() [1/2]

DataRow System.Data.DataTable.LoadDataRow ( object?[] values,
bool fAcceptChanges )
inlineinherited

Definition at line 4123 of file DataTable.cs.

4124 {
4125 long scopeId = DataCommonEventSource.Log.EnterScope("<ds.DataTable.LoadDataRow|API> {0}, fAcceptChanges={1}", ObjectID, fAcceptChanges);
4126 try
4127 {
4128 DataRow dataRow;
4129 if (_inDataLoad)
4130 {
4131 int num = NewRecordFromArray(values);
4132 if (_loadIndex != null)
4133 {
4134 int num2 = _loadIndex.FindRecord(num);
4135 if (num2 != -1)
4136 {
4139 dataRow.CancelEdit();
4140 if (dataRow.RowState == DataRowState.Deleted)
4141 {
4142 SetNewRecord(dataRow, dataRow._oldRecord, DataRowAction.Rollback);
4143 }
4144 SetNewRecord(dataRow, num);
4145 if (fAcceptChanges)
4146 {
4147 dataRow.AcceptChanges();
4148 }
4149 return dataRow;
4150 }
4151 }
4152 dataRow = NewRow(num);
4153 AddRow(dataRow);
4154 if (fAcceptChanges)
4155 {
4156 dataRow.AcceptChanges();
4157 }
4158 return dataRow;
4159 }
4161 if (fAcceptChanges)
4162 {
4163 dataRow.AcceptChanges();
4164 }
4165 return dataRow;
4166 }
4167 finally
4168 {
4169 DataCommonEventSource.Log.ExitScope(scopeId);
4170 }
4171 }
DataRow UpdatingAdd(object[] values)
int NewRecordFromArray(object[] value)
void SetNewRecord(DataRow row, int proposedRecord, DataRowAction action=DataRowAction.Change, bool isInMerge=false, bool fireEvent=true, bool suppressEnsurePropertyChanged=false)
void AddRow(DataRow row)
readonly RecordManager _recordManager
Definition DataTable.cs:74
int FindRecord(int record)
Definition Index.cs:419
int GetRecord(int recordIndex)
Definition Index.cs:148

References System.Data.DataTable._inDataLoad, System.Data.DataTable._loadIndex, System.Data.DataTable._recordManager, System.Data.DataTable.AddRow(), System.Runtime.Serialization.Dictionary, System.Data.Index.FindRecord(), System.Data.Index.GetRecord(), System.Data.DataCommonEventSource.Log, System.Data.DataTable.NewRecordFromArray(), System.Data.DataTable.NewRow(), System.Data.DataTable.ObjectID, System.Data.DataTable.SetNewRecord(), System.Data.DataTable.UpdatingAdd(), and System.values.

Referenced by System.Data.ProviderBase.SchemaMapping.LoadDataRow().