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

◆ OnRowChanging()

void System.Xml.XmlDataDocument.OnRowChanging ( object sender,
DataRowChangeEventArgs args )
inlineprivate

Definition at line 1647 of file XmlDataDocument.cs.

1648 {
1649 DataRow row = args.Row;
1650 if (args.Action == DataRowAction.Delete && row.Element != null)
1651 {
1652 OnDeletingRow(row, row.Element);
1653 }
1654 else
1655 {
1657 {
1658 return;
1659 }
1661 IsFoliationEnabled = false;
1662 try
1663 {
1664 _ignoreXmlEvents = true;
1665 XmlElement elementFromRow = GetElementFromRow(row);
1666 int num = -1;
1667 int num2 = -1;
1668 if (elementFromRow == null)
1669 {
1670 return;
1671 }
1672 switch (args.Action)
1673 {
1674 case DataRowAction.Rollback:
1675 _rollbackState = row.RowState;
1676 switch (_rollbackState)
1677 {
1678 case DataRowState.Modified:
1680 num = row.GetRecordFromVersion(DataRowVersion.Original);
1681 num2 = row.GetRecordFromVersion(DataRowVersion.Current);
1682 {
1683 foreach (DataColumn column in row.Table.Columns)
1684 {
1685 if (!IsSame(column, num, num2))
1686 {
1688 }
1689 }
1690 break;
1691 }
1692 }
1693 break;
1694 case DataRowAction.Change:
1696 num = row.GetRecordFromVersion(DataRowVersion.Proposed);
1697 num2 = row.GetRecordFromVersion(DataRowVersion.Current);
1698 {
1699 foreach (DataColumn column2 in row.Table.Columns)
1700 {
1701 object value = row[column2, DataRowVersion.Proposed];
1702 object value2 = row[column2, DataRowVersion.Current];
1703 if (Convert.IsDBNull(value) && !Convert.IsDBNull(value2) && column2.ColumnMapping != MappingType.Hidden)
1704 {
1706 }
1707 if (!IsSame(column2, num, num2))
1708 {
1710 }
1711 }
1712 break;
1713 }
1714 }
1715 }
1716 finally
1717 {
1718 _ignoreXmlEvents = false;
1720 }
1721 }
1722 }
virtual int Add(object? value)
bool IsSame(DataColumn c, int recNo1, int recNo2)
XmlElement GetElementFromRow(DataRow r)
void FoliateIfDataPointers(DataRow row, XmlElement rowElement)
void OnDeletingRow(DataRow row, XmlBoundElement rowElement)

References System.Xml.XmlDataDocument._columnChangeList, System.Xml.XmlDataDocument._ignoreDataSetEvents, System.Xml.XmlDataDocument._ignoreXmlEvents, System.Xml.XmlDataDocument._rollbackState, System.Collections.ArrayList.Add(), System.Collections.ArrayList.Clear(), System.Xml.Dictionary, System.Xml.XmlDataDocument.FoliateIfDataPointers(), System.Xml.XmlDataDocument.GetElementFromRow(), System.Convert.IsDBNull(), System.Xml.XmlDataDocument.IsFoliationEnabled, System.Xml.XmlDataDocument.IsSame(), System.Xml.XmlDataDocument.OnDeletingRow(), and System.value.

Referenced by System.Xml.XmlDataDocument.BindToTable().