diff --git a/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml b/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml index fc8e9b99..c5c86ffe 100644 --- a/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml +++ b/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml @@ -84,7 +84,7 @@ - + diff --git a/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs b/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs index 7e778cd4..85f6004a 100644 --- a/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs +++ b/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs @@ -233,8 +233,9 @@ namespace ENI2.DetailViewControls { // I am not shitting you: this has to be called TWICE(!) in a row in order to work // see: https://stackoverflow.com/questions/20204592/wpf-datagrid-refresh-is-not-allowed-during-an-addnew-or-edititem-transaction-m - this.dataGridBKRA.CancelEdit(); - this.dataGridBKRA.CancelEdit(); + this.dataGridBKRA.CancelEdit(DataGridEditingUnit.Row); + this.dataGridBKRA.CommitEdit(DataGridEditingUnit.Row, true); + EditBKRDialog eld = new EditBKRDialog(); eld.IsDeparture = false; eld.BRKA = obj as BRKA; @@ -244,7 +245,8 @@ namespace ENI2.DetailViewControls eld.CopyValuesToEntity(); if(!_bkraMessage.Elements.Contains(eld.BRKA)) _bkraMessage.Elements.Add(eld.BRKA); - this.dataGridBKRA.Items.Refresh(); + this.dataGridBKRA.ItemsSource = null; + this.dataGridBKRA.ItemsSource = this._bkraMessage.Elements; eld.BRKA = new BRKA(); eld.BRKA.Identifier = BRKA.GetNewIdentifier(this._bkraMessage.Elements); eld.BRKA.MessageHeader = _bkraMessage; @@ -255,7 +257,8 @@ namespace ENI2.DetailViewControls { if (!_bkraMessage.Elements.Contains(eld.BRKA)) _bkraMessage.Elements.Add(eld.BRKA); - this.dataGridBKRA.Items.Refresh(); + this.dataGridBKRA.ItemsSource = null; + this.dataGridBKRA.ItemsSource = this._bkraMessage.Elements; this.SublistElementChanged(Message.NotificationClass.BKRA); } } diff --git a/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml.cs b/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml.cs index c26de806..feee54ac 100644 --- a/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml.cs +++ b/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml.cs @@ -215,8 +215,8 @@ namespace ENI2.DetailViewControls private void DataGridBKRD_EditRequested(DatabaseEntity obj) { - this.dataGridBKRD.CancelEdit(); - this.dataGridBKRD.CancelEdit(); + this.dataGridBKRD.CancelEdit(DataGridEditingUnit.Row); + this.dataGridBKRD.CommitEdit(DataGridEditingUnit.Row, true); EditBKRDialog eld = new EditBKRDialog(); eld.IsDeparture = true; eld.BRKD = obj as BRKD; @@ -237,7 +237,8 @@ namespace ENI2.DetailViewControls { if (!_bkrdMessage.Elements.Contains(eld.BRKD)) _bkrdMessage.Elements.Add(eld.BRKD); - this.dataGridBKRD.Items.Refresh(); + this.dataGridBKRD.ItemsSource = null; + this.dataGridBKRD.ItemsSource = this._bkrdMessage.Elements; this.SublistElementChanged(Message.NotificationClass.BKRD); } }