Ejemplo n.º 1
0
 private bool IsDataChange(eDataChange changeType)
 {
     return ((_DataChangeType & changeType) == changeType);
 }
Ejemplo n.º 2
0
 protected override void OnDataSourceChanged(EventArgs e)
 {
     if (_MultiColumnDisplay != null)
         _MultiColumnDisplay.DataSource = null;
     _DataChangeType |= eDataChange.DataSourceChanged;
     base.OnDataSourceChanged(e);
 }
Ejemplo n.º 3
0
 protected override void OnBindingContextChanged(EventArgs e)
 {
     _DataChangeType |= eDataChange.BindingContextChanged;
     base.OnBindingContextChanged(e);
 }
Ejemplo n.º 4
0
        private void OpenMultiColumnDropDown()
        {
            _PopupController = null;
            _MultiColumnDisplay = null;
            if (_PopupController == null)
            {
                _PopupController = new PopupHostController();
                _PopupController.Closed += PopupControllerClosed;
            }

            if (_MultiColumnDisplay == null)
            {
                _MultiColumnDisplay = CreateMultiColumnDisplayControl();               

                _DataChangeType = eDataChange.All;
            }
            if (IsDataChange(eDataChange.BindingContextChanged))
                _MultiColumnDisplay.BindingContext = this.BindingContext;
            if (_MultiColumnDisplay.DataSource != this.DataSource)
            {
                _DataChangeType = eDataChange.All;
            }

            if (IsDataChange(eDataChange.DataSourceChanged))
            {
                _MultiColumnDisplay.DataSource = this.DataSource;               
            }
            if (IsDataChange(eDataChange.DropDownColumnsChanged))
                _MultiColumnDisplay.DisplayMembers = _DropDownColumns;

            if (!_PopupController.PopupUserSize || !_PreservePopupSize)
            {
                _MultiColumnDisplay.Height = this.DropDownHeight;
                _MultiColumnDisplay.Width = this.DropDownWidth;
            }

            //tuyenhm
            if (this._MultiColumnDisplay != null)
            {
                if (this._MultiColumnDisplay.Columns.Count > 0)
                {
                    this._MultiColumnDisplay.Columns[0].Width.Absolute = _Col1Width;
                }
                if (this._MultiColumnDisplay.Columns.Count > 1)
                {
                    this._MultiColumnDisplay.Columns[1].Width.Absolute = _Col2Width;
                }
                if (this._MultiColumnDisplay.Columns.Count > 2)
                {
                    this._MultiColumnDisplay.Columns[2].Width.Absolute = _Col3Width;
                }
            }

            CancelEventArgs cancelArgs = new CancelEventArgs();
            OnBeforeMultiColumnPopupOpen(cancelArgs);
            if (cancelArgs.Cancel)
                return;

            Point location = PointToScreen(new Point(0, Height));

            ePopupResizeEdge resize = _EnablePopupResize ? ePopupResizeEdge.BottomRight : ePopupResizeEdge.None;
            _PopupController.Show(_MultiColumnDisplay, location.X, location.Y, Width, Height, resize);
            if (_MultiColumnDisplay.SelectedNode != null)
                _MultiColumnDisplay.SelectedNode.EnsureVisible();
            _DroppedDown = true;
            _MultiDropDownOpenedAtTime = DateTime.Now;
           
            _DataChangeType = eDataChange.None;
            base.OnDropDown(EventArgs.Empty);
        }