Tutorial: Banded Grid View - User Customization

  • 3 minutes to read

This walkthrough is a transcript of the Banded Grid View - User Customization video available on the DevExpress YouTube Channel.

In this tutorial, you will learn about band customization features available to end-users at runtime, including band resizing, band and column re-ordering, hiding and displaying bands. The tutorial will also show you how to override the functionality available to end-users by default.

Default Behavior

At runtime, end-users can resize any grid band by dragging the band's right edge.

BandedGirdViewUC_BandResizing

They can drag-and-drop band headers to reorder bands along with their child columns.

BandedGirdViewUC_BandReordering

Note though that columns and bands can only be moved within their parent bands. Thus, bands allow end-users to re-arrange columns while preserving their logical grouping.

The grid supports the Microsoft Outlook style Customization Form, which can be invoked using the band or column header context menu.

BandedGirdViewUC_BandChooserMenuItem

Drag-and-drop a band's header to the Customization Form to hide the band along with its child columns.

BandedGirdViewUC_HidingBand

To display a band, drag it back to the band panel.

BandedGirdViewUC_DisplayingHiddenBand

End-users can also quickly hide bands by dragging their headers away from the header panel.

BandedGirdViewUC_QuickHidingBand

Now see how to control which of these features are available to end users.

Disabling Band Resizing

If you want to prevent end-users from resizing a particular band, disable this band's OptionsBand.AllowSize option accessible using the GridBand.OptionsBand property.

BandedGirdView_BandAllowSizeProperty

Run the application to see that the Model band's right edge cannot be dragged. However, end-users can still resize other bands, which can still affect the Model band's width.

Close the application and disable band resizing for the entire View. To do this, expand the View's BandedGridView.OptionsCustomization property and disable the BandedGridOptionsCustomization.AllowBandResizing option.

BandedGirdView_AllowBandResizingProperty

Run the application again. No bands allow resizing operations.

Allowing Changing Parent Bands

To enable column and band drag-and-drop between parent bands, go to the Property grid displaying the View's settings, expand BandedGridView.OptionsCustomization and enable the BandedGridOptionsCustomization.AllowChangeBandParent and BandedGridOptionsCustomization.AllowChangeColumnParent options.

BandedGirdView_AllowChangeBandColumnParent

As a result, end-users can change column and band positions without any restrictions.

BandedGirdViewUC_ChangingBandParent

Disabling Band Re-Ordering

The grid also allows you to prohibit re-ordering of individual or all bands. Open the Property grid displaying the Model band's settings, expand the GridBand.OptionsBand property and disable the OptionsBand.AllowMove option.

BandedGirdView_BandAllowMoveProperty

Now you cannot change this band's position by dragging its header. It can still change its position as a result of re-ordering other bands.

To disable band re-ordering for the entire view, set the View's BandedGridOptionsCustomization.AllowBandMoving property to false. As a result, end-users cannot move or hide bands.

Reset these settings to enable band drag and drop again.

Restricting Hiding and Displaying Bands

After that, disable the View's GridOptionsCustomization.AllowQuickHideColumns option. As a result, bands with their nested columns cannot be hidden by dragging them away from the header panel. However, end-users can still use the Customization Form.

BandedGirdView_DisabledQuickHidingBands

Once headers are displayed in the Bands tab, they can be dragged back to the View. The grid allows you to override this. Set the Model band's OptionsBand.ShowInCustomizationForm property to false. Now when you hide this band, it disappears and its header is not displayed in the Customization Form.

BandedGirdView_ShowInCustomizationForm

If you disable the View's BandedGridOptionsCustomization.ShowBandsInCustomizationForm option, the Bands tab is not displayed at all.

BandedGirdView_ShowBandsInCustomizationForm

See Also