private void SelectedEntityChanged(object sender, SelectedEntityChangedEventArgs e) { if (e.Entity != null) { configTreeView.SelectedItem = e.Entity; } }
private void On_TreeGrid_SelectedItemChanged(object sender, SelectedItemChangedEventArgs e) { if (this._reportEvents) { var args = new SelectedEntityChangedEventArgs(e.NewItem as Entity, e.OldItem as Entity); this.Context.EventReporter.NotifySelectedItemChanged(sender, args); } }
/// <summary> /// 切换左边视图 /// /// 保存选择的旧实体,并异步获取新的实体 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void View_SelectedItemChanged(object sender, SelectedEntityChangedEventArgs e) { if (this.SuppressSaveAction) { return; } //保存选择的旧实体 var oldEntity = e.OldItem; if (oldEntity != null) { // oldEntity.ApplyEdit(); //编辑时切换到列表时对象处于编辑状态 //如果不是新增后立即删除的可更改对象则自动保存 if (oldEntity.IsDirty) { var broken = oldEntity.Validate(); if (broken.Count == 0) { //oldEntity.MergeOldObject((oldEntity as ISavable).Save() as BusinessBase); RF.Save(oldEntity, EntitySaveType.DiffSave); } else { bool warn = true; if (e.NewItem != null) { var id = e.NewItem.Id; warn = !object.Equals(id, this._lastWarnedObjId); } if (warn && broken.Count > 0) { this._lastWarnedObjId = oldEntity.Id; string description = string.Format(@" 旧对象没有填写完整,系统没有保存! {0} 是否切换到该对象,继续编辑?".Translate(), broken.ToString()); var result = App.MessageBox.Show(description, MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { this.View.Current = oldEntity as Entity; return; } } } } } }
/// <summary> /// 切换左边视图 /// /// 保存选择的旧实体,并异步获取新的实体 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void View_SelectedItemChanged(object sender, SelectedEntityChangedEventArgs e) { if (this.SuppressSaveAction) return; //保存选择的旧实体 var oldEntity = e.OldItem; if (oldEntity != null) { // oldEntity.ApplyEdit(); //编辑时切换到列表时对象处于编辑状态 //如果不是新增后立即删除的可更改对象则自动保存 if (oldEntity.IsDirty) { var broken = oldEntity.Validate(); if (broken.Count == 0) { //oldEntity.MergeOldObject((oldEntity as ISavable).Save() as BusinessBase); RF.Save(oldEntity, EntitySaveType.DiffSave); } else { bool warn = true; if (e.NewItem != null) { var id = e.NewItem.Id; warn = !object.Equals(id, this._lastWarnedObjId); } if (warn && broken.Count > 0) { this._lastWarnedObjId = oldEntity.Id; string description = string.Format(@" 旧对象没有填写完整,系统没有保存! {0} 是否切换到该对象,继续编辑?".Translate(), broken.ToString()); var result = App.MessageBox.Show(description, MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { this.View.Current = oldEntity as Entity; return; } } } } } }