Exemplo n.º 1
0
 //绑定数据源的Focuse Row 发生改变时产生
 void _BindingSource_PositionChanged(object sender, EventArgs e)
 {
     if (MB.Util.General.IsInDesignMode())
     {
         return;
     }
     if (_CurrentIsCancelAddNew)
     {
         return;
     }
     if (!_EditBindingSource.CheckExistsCurrentItem())
     {
         return;
     }
     _DataValidated.ClearErrorMessage(_EditColumnCtlBinding);
     OnBindingSourcePositionChanged();
     System.ComponentModel.INotifyPropertyChanged currentMainEditEntity = _EditBindingSource.Current as System.ComponentModel.INotifyPropertyChanged;
     if (currentMainEditEntity != null)
     {
         foreach (INotifyPropertyChanged item in _HasAddMainEntityEvent)
         {
             item.PropertyChanged -= new PropertyChangedEventHandler(OnCurrentMainEditEntity_PropertyChanged);
         }
         _HasAddMainEntityEvent.Clear();
         _HasAddMainEntityEvent.Add(currentMainEditEntity);
         currentMainEditEntity.PropertyChanged += new PropertyChangedEventHandler(OnCurrentMainEditEntity_PropertyChanged);
     }
 }
        //绑定数据源的Focuse Row 发生改变时产生
        void _BindingSource_PositionChanged(object sender, EventArgs e)
        {
            if (MB.Util.General.IsInDesignMode())
            {
                return;
            }

            if (_CurrentIsCancelAddNew)
            {
                return;
            }

            if (!_BindingSource.CheckExistsCurrentItem())
            {
                return;
            }


            _DataValidated.ClearErrorMessage(_EditColumnCtlBinding);


            OnBindingSourcePositionChanged();

            System.ComponentModel.INotifyPropertyChanged currentMainEditEntity = _BindingSource.Current as System.ComponentModel.INotifyPropertyChanged;
            if (currentMainEditEntity != null)
            {
                foreach (INotifyPropertyChanged item in _HasAddMainEntityEvent)
                {
                    item.PropertyChanged -= new PropertyChangedEventHandler(OnCurrentMainEditEntity_PropertyChanged);
                }
                _HasAddMainEntityEvent.Clear();
                _HasAddMainEntityEvent.Add(currentMainEditEntity);
                currentMainEditEntity.PropertyChanged += new PropertyChangedEventHandler(OnCurrentMainEditEntity_PropertyChanged);
            }
            //如果在新增的状态下,需要附上默认值,默认值赋值结束以后,关闭_IsInAdding开关
            if (_IsInAdding)
            {
                try
                {
                    PopulateDefaultValue(currentMainEditEntity, _ClientRuleObject);
                }
                finally
                {
                    //重置_IsInAdding为false;
                    _IsInAdding = false;
                }
            }
        }