4493 {
4494 bool flag = false;
4496 {
4498 {
4500 {
4501 continue;
4502 }
4504 {
4505 case LoadOption.OverwriteChanges:
4507 {
4508 flag = true;
4509 }
4510 break;
4511 case LoadOption.Upsert:
4513 {
4514 flag = true;
4515 }
4516 break;
4517 case LoadOption.PreserveChanges:
4519 {
4520 flag = true;
4521 }
4522 break;
4523 }
4524 }
4525 }
4526 DataRowChangeEventArgs
args =
null;
4531 {
4532 case LoadOption.OverwriteChanges:
4534 break;
4535 case LoadOption.Upsert:
4537 {
4538 case DataRowState.Unchanged:
4540 {
4542 {
4544 break;
4545 }
4546 }
4547 break;
4548 default:
4550 break;
4551 case DataRowState.Deleted:
4552 break;
4553 }
4554 break;
4555 case LoadOption.PreserveChanges:
4556 {
4560 break;
4561 }
4562 default:
4563 throw ExceptionBuilder.ArgumentOutOfRange("LoadOption");
4564 }
4565 try
4566 {
4569 {
4571 try
4572 {
4574 }
4575 finally
4576 {
4578 }
4579 }
4580 }
4581 finally
4582 {
4583 if (DataRowState.Detached ==
dataRow.RowState)
4584 {
4586 {
4588 }
4589 }
4591 {
4593 {
4595 }
4597 {
4599 }
4601 }
4602 else
4603 {
4605 }
4606 }
4607 if (
dataRow._tempRecord != -1)
4608 {
4610 }
4612 {
4613 case LoadOption.OverwriteChanges:
4616 break;
4617 case LoadOption.Upsert:
4618 if (
dataRow.RowState == DataRowState.Unchanged)
4619 {
4622 {
4624 }
4625 }
4626 else
4627 {
4628 if (
dataRow.RowState == DataRowState.Deleted)
4629 {
4631 }
4633 }
4634 break;
4635 case LoadOption.PreserveChanges:
4636 if (
dataRow.RowState == DataRowState.Unchanged)
4637 {
4640 }
4641 else
4642 {
4644 }
4645 break;
4646 default:
4647 throw ExceptionBuilder.ArgumentOutOfRange("LoadOption");
4648 }
4649 if (flag)
4650 {
4652 if (
dataRow.RowError.Length == 0)
4653 {
4655 }
4656 else
4657 {
4659 }
4661 {
4663 {
4665 }
4666 }
4667 }
4670 {
4672 try
4673 {
4675 }
4676 finally
4677 {
4679 }
4680 }
4681 }
DataRowChangeEventArgs OnRowChanged(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction)
void FreeRecord(ref int record)
DataColumnCollection Columns
void SetOldRecord(DataRow row, int proposedRecord)
DataRowChangeEventArgs OnRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction)
DataRowChangeEventArgs RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction)
void SetNewRecord(DataRow row, int proposedRecord, DataRowAction action=DataRowAction.Change, bool isInMerge=false, bool fireEvent=true, bool suppressEnsurePropertyChanged=false)
DataRowChangeEventArgs RaiseRowChanged(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction)
static string Load_ReadOnlyDataModified
@ ChangeCurrentAndOriginal