public WinFormsGridBaseAdapter(DataGridView gridView) : base(gridView)
        {
            _gridView       = gridView;
            ConfirmDeletion = false;
            CheckUserConfirmsDeletionDelegate = CheckUserWantsToDelete;
            _manager = new GridBaseManagerBindingList(this);
            this.GridBaseManager.CollectionChanged += delegate {
                FireCollectionChanged();
                ImplementColumnAutoSizingStrategy();
                ImplementAlternatRowColoring();
            };
            this.GridBaseManager.BusinessObjectSelected += delegate { FireBusinessObjectSelected(); };
            _gridView.DoubleClick += DoubleClickHandler;

            if (GlobalUIRegistry.UIStyleHints != null)
            {
                this.ColumnAutoSizingStrategy   = GlobalUIRegistry.UIStyleHints.GridHints.ColumnAutoSizingStrategy;
                this.ColumnAutoSizingPadding    = GlobalUIRegistry.UIStyleHints.GridHints.ColumnAutoSizingPadding;
                this.EnableAlternateRowColoring = GlobalUIRegistry.UIStyleHints.GridHints.EnableAlternateRowColoring;
                this.HideObjectIDColumn         = GlobalUIRegistry.UIStyleHints.GridHints.HideObjectIDColumn;
            }

            _gridView.Resize += (sender, e) =>
            {
                if (this.AutoResizeColumnsOnGridResize)
                {
                    this.ImplementColumnAutoSizingStrategy();
                }
            };
        }
Ejemplo n.º 2
0
        public void Test_ApplyFilter_WheResetDataSource_ShouldSetFilterOnBindingList_FixBug615()
        {
            //---------------Set up test pack-------------------
            var grid = MockRepository.GenerateStub <IGridBase>();

            var gridBaseManager = new GridBaseManager(grid);

            grid.DataSource = GenerateStub <IBindingListView>();
            gridBaseManager.ApplyFilter(GetFilterClause());


            var bindingListView = GenerateStub <IBindingListView>();

            grid.DataSource = bindingListView;
            var filterClause = GetFilterClause();

            //---------------Assert Precondition----------------
            Assert.AreSame(bindingListView, grid.DataSource);
            bindingListView.AssertWasNotCalled(view => view.Filter);
            var filterClauseString = filterClause.GetFilterClauseString("%", "#");

            Assert.IsNotNullOrEmpty(filterClauseString);
            //---------------Execute Test ----------------------
            gridBaseManager.ApplyFilter(filterClause);
            //---------------Test Result -----------------------
            Assert.AreEqual(filterClauseString, bindingListView.Filter);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Constructor for <see cref="GridBaseVWG"/>
        /// </summary>
        protected GridBaseVWG()
        {
            _manager = new GridBaseManager(this);
            GridBaseManager.BusinessObjectSelected += delegate { FireBusinessObjectSelected(); };
            GridBaseManager.CollectionChanged      += delegate { FireCollectionChanged(); };
            ConfirmDeletion = false;
            CheckUserConfirmsDeletionDelegate = CheckUserWantsToDelete;
            var hints = GlobalUIRegistry.UIStyleHints;

            if (hints != null)
            {
                this.DefaultCellStyle.Padding = new Padding(hints.GridHints.Padding.Left, hints.GridHints.Padding.Top, hints.GridHints.Padding.Right, hints.GridHints.Padding.Bottom);
                var vpad = this.DefaultCellStyle.Padding.Top + this.DefaultCellStyle.Padding.Bottom;
                this.ColumnHeadersHeight       += vpad;
                this.RowTemplate.Height        += vpad;
                this.ColumnAutoSizingPadding    = hints.GridHints.ColumnAutoSizingPadding;
                this.ColumnAutoSizingStrategy   = hints.GridHints.ColumnAutoSizingStrategy;
                this.EnableAlternateRowColoring = hints.GridHints.EnableAlternateRowColoring;
                this.HideObjectIDColumn         = hints.GridHints.HideObjectIDColumn;
                this.CollectionChanged         += (s, e) =>
                {
                    this.SetIDColumnVisibility(!this.HideObjectIDColumn);
                };
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Constructor for <see cref="GridBaseWin"/>
 /// </summary>
 protected GridBaseWin()
 {
     ConfirmDeletion = false;
     CheckUserConfirmsDeletionDelegate = CheckUserWantsToDelete;
     _manager = new GridBaseManager(this);
     GridBaseManager.CollectionChanged += delegate {
         FireCollectionChanged();
         ImplementColumnAutoSizingStrategy();
         ImplementAlternatRowColoring();
     };
     GridBaseManager.BusinessObjectSelected += delegate { FireBusinessObjectSelected(); };
     DoubleClick += DoubleClickHandler;
     if (GlobalUIRegistry.UIStyleHints != null)
     {
         var gridHints = GlobalUIRegistry.UIStyleHints.GridHints;
         this.DefaultCellStyle.Padding = new Padding(gridHints.Padding.Left, gridHints.Padding.Top, gridHints.Padding.Right, gridHints.Padding.Bottom);
         var vpad = this.DefaultCellStyle.Padding.Top + this.DefaultCellStyle.Padding.Bottom;
         this.ColumnHeadersHeight       += vpad;
         this.RowTemplate.Height        += vpad;
         this.ColumnAutoSizingStrategy   = gridHints.ColumnAutoSizingStrategy;
         this.ColumnAutoSizingPadding    = gridHints.ColumnAutoSizingPadding;
         this.EnableAlternateRowColoring = gridHints.EnableAlternateRowColoring;
         this.ImplementAlternatRowColoring();
         this.HideObjectIDColumn = gridHints.HideObjectIDColumn;
         this.CollectionChanged += (s, e) =>
         {
             this.SetIDColumnVisibility(!this.HideObjectIDColumn);
         };
     }
     this._resizeTimer = new Timer()
     {
         Enabled = true, Interval = 1000
     };
     this._resizeTimer.Tick += (sender, e) =>
     {
         if (!this.AutoResizeColumnsOnGridResize)
         {
             return;
         }
         if (this._resizeRequired && (this._lastResize.AddMilliseconds(this._resizeTimer.Interval) < DateTime.Now))
         {
             this._resizeRequired = false;
             this.ImplementColumnAutoSizingStrategy();
         }
     };
     this.Resize += (sender, e) =>
     {
         this._resizeRequired = true;
         this._lastResize     = DateTime.Now;
     };
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Applies a search clause to the underlying collection and reloads the grid.
 /// The search allows you to determine which objects to display using
 /// some criteria.  This is typically generated by the an <see cref="IFilterControl"/>.
 /// </summary>
 /// <param name="searchClause">The search clause</param>
 /// <param name="orderBy"></param>
 public void ApplySearch(string searchClause, string orderBy)
 {
     GridBaseManager.ApplySearch(searchClause, orderBy);
     FireFilterUpdated();
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Applies a filter clause to the data table and updates the filter.
 /// The filter allows you to determine which objects to display using
 /// some criteria.  This is typically generated by an <see cref="IFilterControl"/>.
 /// </summary>
 /// <param name="filterClause">The filter clause</param>
 public void ApplyFilter(IFilterClause filterClause)
 {
     GridBaseManager.ApplyFilter(filterClause);
     FireFilterUpdated();
 }
Ejemplo n.º 7
0
/*        /// <summary>
 *      /// Fires an event indicating that the selected business object
 *      /// is being edited
 *      /// </summary>
 *      /// <param name="bo">The business object being edited</param>
 *      public void SelectedBusinessObjectEdited(BusinessObject bo)
 *      {
 *          FireSelectedBusinessObjectEdited(bo);
 *      }*/

/*        private void FireSelectedBusinessObjectEdited(IBusinessObject bo)
 *      {
 *          if (this.BusinessObjectEdited != null)
 *          {
 *              this.BusinessObjectEdited(this, new BOEventArgs(bo));
 *          }
 *      }*/
/*        /// <summary>
 *      /// Fires the Selected Business Object Edited Event for <paramref name="bo"/>
 *      /// </summary>
 *      /// <param name="bo">The Business object the event is being fired for</param>
 *      public void FireBusinessObjectEditedEvent(BusinessObject bo)
 *      {
 *          FireSelectedBusinessObjectEdited(bo);
 *      }*/
/*
 *      /// <summary>
 *      /// Occurs when a business object is being edited
 *      /// </summary>
 *      public event EventHandler<BOEventArgs> BusinessObjectEdited;*/

        /// <summary>
        /// Reloads the grid based on the grid returned by GetBusinessObjectCollection
        /// </summary>
        public void RefreshGrid()
        {
            GridBaseManager.RefreshGrid();
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Clears the business object collection and the rows in the data table
 /// </summary>
 public void Clear()
 {
     GridBaseManager.Clear();
 }
Ejemplo n.º 9
0
 ///<summary>
 /// Returns the row for the specified <see cref="IBusinessObject"/>.
 ///</summary>
 ///<param name="businessObject">The <see cref="IBusinessObject"/> to search for.</param>
 ///<returns>Returns the row for the specified <see cref="IBusinessObject"/>,
 /// or null if the <see cref="IBusinessObject"/> is not found in the grid.</returns>
 public IDataGridViewRow GetBusinessObjectRow(IBusinessObject businessObject)
 {
     return(GridBaseManager.GetBusinessObjectRow(businessObject));
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Returns the business object at the specified row number
 /// </summary>
 /// <param name="row">The row number in question</param>
 /// <returns>Returns the busines object at that row, or null
 /// if none is found</returns>
 public IBusinessObject GetBusinessObjectAtRow(int row)
 {
     return(GridBaseManager.GetBusinessObjectAtRow(row));
 }
Ejemplo n.º 11
0
 /// <summary>
 /// Applies a filter clause to the data table and updates the filter.
 /// The filter allows you to determine which objects to display using
 /// some criteria.  This is typically generated by an <see cref="IFilterControl"/>.
 /// </summary>
 /// <param name="filterClause">The filter clause</param>
 public void ApplyFilter(IFilterClause filterClause)
 {
     GridBaseManager.ApplyFilter(filterClause);
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Returns the business object collection being displayed in the grid
 /// </summary>
 /// <returns>Returns a business collection</returns>
 public IBusinessObjectCollection GetBusinessObjectCollection()
 {
     return(GridBaseManager.GetBusinessObjectCollection());
 }