Blogs

The Progress Bar - DevExpress XPF Blog

June 2009 - Posts

  • Coming Up: CodeCentral Examples for DevExpress Channel Tutorials

         

    Code Central

     

    As the number of training videos on the DevExpress Channel increased, so did the number of requests to provide the source code for each training video. Not too long ago, this was also suggested and discussed in length on our community forums. 

    We listened and while we have been providing source code to some of our videos in an “on and off” basis, we have decided to increase the integration between the DevExpress Channel tutorials and their corresponding examples listed on Code Central. We will be working hard to organize and create Code Central projects for nearly all the training videos published so far. A slow process, but one that when completed, will help our customers learn about our tools easier and faster than before.

    As the projects are created and added to our already massive Code Central database, you will start seeing an extra “Code Central Example” link at the bottom of each video (see the screenshot). This link will take you to the corresponding Code Central page and allow you to download the project pertaining to the video for both C# and VB.NET.

    For now, here is a short list of some of the videos that have their projects uploaded to Code Central:

  • Training Videos for ASPxperience Components

         

    ASPxperience

     

    We have been working very hard to not only bring you the latest installment in the DX Airways series, but also to create and publish much-needed training videos for our ASP.NET controls which ship as part of the ASPxperience Suite. This includes the Upload Control, Callback Panel and Object Container, just to name a few. 

    Using the advanced AJAX functionality and the DevExpress Client-Side Scripting mechanism, these controls can help you to easily create an interactive and friendly user-experience for your web application.

    The training videos are short, easy-to-watch and informative, so to watch all of these great videos, head over to the DevExpress Channel. Here are the highlights of some of the videos we’ve published recently:

  • What’s new for the ExpressLayout Control 2 Beta

         

    This post summarizes the new features that will be introduced with the ExpressLayout Control Suite version 2. Please note that these features are subject to change prior to the official release. Many of the features presented here were introduced as a result of end-user feedback. For reference purposes, we’ve included the appropriate Support Center ID in parenthesis.

    New Layout Capabilities

    • Tabbed Groups (B3623). Mimic the behavior of a tab control. Standard layout groups and layout items can be represented as tab pages in the layout control. To organize within tabs, set the parent group's LayoutDirection to ldTabbed.

    clip_image001[12]

    Appearance Improvements

    • Look and Feel support (S32514). The layout control now provides the following painting/style options:
      • A style can now be applied from one of three built-in styles or from five predefined TcxLookAndFeel styles.
      • Skinning support. Important Note: The ExpressSkins Library is not shipped with the layout control, and must be purchased separately.
      • The TcxLookAndFeelController component can now be used with the TdxLayoutLookAndFeelList component to paint the layout control and its children with a common look and feel.

    Customization Capabilities

    • Customization Form Improvements (S31371).
      • The Customization Form contains two panes - Layout Tree View and Available Items. These panes can be displayed side-by-side or as tab pages. A layout hierarchy is represented in these panes as a tree.

    clip_image001[10]

      • At design-time, the Customization Form displays buttons that allow expanding or collapsing a tree, item deletion, highlighting a root group, and controlling the visibility of item selectors.
      • At runtime, instead of the Highlight Root and Show Design Selectors buttons the Customization Form displays buttons that allow an end-user to save or restore the layout.
    • Bidirectional selection synchronization between on-form layout control's items and tree elements in the Customization Form (the corresponding elements are also automatically highlighted in the IDE's Object TreeView when working at design-time).
    • Form auto-sizing (S32513). To enable this feature, set the layout control's Autosize property to True, the root group's AlignHorz property to ahLeft and the AlignVert property to avTop, the form's Autosize property to True.

    Design-Time Customization

    • Layout Item Selectors. For quick item access, each item is provided with a selector – a rectangle with green diagonal stripes. Item selection is enabled if the Customization Form is hidden.

    Design-Time Customization

    Drag and Drop Improvements

    • Drag and drop operations between different layout controls (S90646). Items or groups can now be dragged from one layout control to another.

    DnDBtwnLCs

    • More intuitive positioning. While dragging, the layout control keeps track of the mouse pointer, and estimates the target space relative to the neighbor controls, anticipating your action. It simultaneously highlights the target container and the target location, facilitating the drop operation for you.

    Drag and Drop Improvements

    Miscellaneous

    • Design-Time Keyboard Shortcuts Support.
      • Selected items can be deleted using the DEL key.
      • Container Hierarchy Navigation with the ESC key. By pressing the ESC key, you can navigate up the container hierarchy.
    • Automatic disabling of items owned by disabled parents (B95464) - if the group is disabled (the group's Enabled property is False), captions of contained items are grayed. If the item is disabled (the item's Enabled property is False), the control it displays is also disabled.

    clip_image001

    • Control Focus (S20119). A linked control can be focused by clicking the layout item's caption. To allow this operation, activate the layout control's FocusControlOnItemCaptionClick option (this can only be used at runtime).

    clip_image002

    • Runtime Layout Persistence Support. The layout information can now be persisted from within the Customization Form.

    Features Planned in the Official Release

    The following features are planned in the official release. However, this list is subject to change prior to the release.

    • Use of layout item selectors for selection of linked controls when the Customization Form is open.
    • Target Location Selection - provides a choice of target locations for end-users when they start dragging an item.
    • Support for expandable groups (DS6053). End-users can quickly hide or display group contents by collapsing or expanding groups.
    • On-Form Layout Item Resizing (AS5146).
    • Transparency Support (AS15337). Provides optional transparency of the layout control.
    • Layout Item Settings Runtime Customization (DS4103). End-users can change settings of layout items at runtime in customization mode.
    • Group Custom Buttons (S92284). Ability to display action buttons in the group's caption that can be used for custom actions.
    • Item Caption Image (S31729) - along with the text, an image can also be provided for the item caption.
    • Multiple Undo/Redo Support.
    • Smart Layout Import. The layout control can now recognize the more advanced layout of items imported from external controls.
  • ExpressQuantumTreeList 5 – New Features

         

    This post summarizes the new features that will be introduced in the ExpressQuantumTreeList Suite v5, our tree list component for VCL. Many of the features presented here were introduced as a result of end-user feedback. For reference purposes, we’ve included the appropriate Support Center ID in parenthesis.

    New Features and Enhancements (Click on an item to learn more):

     

    Version 5 includes a new data access architecture which significantly improves performance when using data-aware TreeList controls. To reduce the number of time-consuming round trips, data is cached and modified bypassing the data controller. The data controller is only used to perform data store updates and to obtain notifications about external data store changes.

    The ExpressQuantumTreeList version 5 provides implicit streaming compatibility with version 4. Therefore, legacy data formats don’t require additional conversions when migrating to the new version.

    • Nested Bands (A1723) – The ExpressQuantumTreeList v5 now allows you to nest bands within other bands.

    clip_image001

    • Customizable Location of Expand Buttons (DS37880) – You can now specify which band displays expand buttons.

    clip_image002

    • Quick Band Visibility Customization (CS13535) – Similar to the feature introduced in the ExpressQuantumGrid v5, band visibility can now be easily changed, both at design and runtime via a specially designed dropdown list.

    clip_image003

    • Quick Column Visibility Customization (CS13535) – Just like bands, column visibility can now be changed via a specially designed dropdown list.

    clip_image004

    • Capability to specify multiple fixed bands – You are no longer limited to one fixed band on each side of the TreeList control.
    • Customizable Layout Persistence – As with the ExpressQuantumGrid and ExpressPivotGrid, the ExpressQuantumTreeList allows you to specify how tree list, band and column properties are persisted to external data stores via specially designed events.
    • These events enable you to:
      • Customize a list of properties to be saved (OnGetStoredProperties).
      • Provide property values to be saved to and restored from a data store (OnGetStoredPropertyValue and OnSetStoredPropertyValue).
      • Initialize columns that are created during the restoring process (OnInitStoredObject).

    • Group Summaries (AS4414) – The ExpressQuantumTreeList v5 allows you to calculate summaries based on groups of nodes with the same parent. These summaries are displayed within group footers that can be optionally switched off.

    clip_image001[7]

    • Multiple Summaries – You can now display multiple summaries per column in the footer and group footers.

    clip_image002[7]

    • Ability to choose the calculation base for summary values – You can include all child nodes for the calculation base or calculate using only the immediate child nodes.

    clip_image003[7]

    With v5, end-users can easily customize summary options using built-in context menus (see the Footer Context Menu and Group Footer Context Menu below).

    • Column Header Context Menu – Allows end-users to change or apply various column options and specify the visibility of the footer and customization form.

    clip_image001[9]

    • Footer Context Menu – Allows end-users to specify the required summary types, adjust the calculation base or disable summary calculation for footer cells.

    clip_image002[9]

    • Group Footer Context Menu – Allows end-users to specify the required summary types, adjust the calculation base or disable summary calculation for group footer cells.

    clip_image003[9]

    You can handle menu item clicks within built-in menus and display a custom menu (TPopupMenu descendant) rather than the built-in menu.

    With v5, you can easily introduce check groups to your unbound tree lists. For each node you can specify which type of a control will be used to indicate the check state of the node’s immediate child nodes – check box or radio button. A parent node keeps track of child node states, and automatically updates its state, and vice versa. You can customize the default logic by handling a specially designed event. Also, you can optionally display the grayed state in parent nodes, or prohibit end-users from changing a node’s state.

    clip_image001[11]

    With v5, you can access summary item properties by clicking the corresponding footer and group footer cells.

    clip_image001[13]

    • Easily customizable node height (A72, DS13894) – Users can adjust the height of individual nodes. You can also specify the default height for all nodes in pixels.

    clip_image001[15]

    • Easily customizable band heights – You can specify the exact band height in pixels. End-users can modify a band’s height by dragging its bottom edge.
    • Capability to display overlay images over node and state images (DS2409). To accomplish this, do the following:
      • Add overlay images into the Images and StateImages image collections.
      • Assign a node’s OverlayIndex and OverlayStateIndex properties. At design time, you can assign these properties via the Items Editor.
      • To dynamically specify overlay image indexes, handle the TreeList control’s OnGetNodeImageIndex event. Within an OnGetNodeImageIndex event handler, check the AIndexType parameter for tlitOverlayIndex and tlitOverlayStateIndex values and pass overlay image indexes via the AIndex parameter.

    clip_image002[11]

    • Capability to dynamically provide image lists for node and state images. This allows you to have nodes with different image sizes.

    clip_image003[11]

    • Capability to provide or update values for virtual tree lists by handling specially designed events (S18306).
    • Capability to optionally hide state images for non-focused nodes.
    • Capability to respond to node focus and node selection (A871).
  • Real World Application – Membership and Authorization

         

     

    Previously, we looked at how to set up the basic foundations of the “DX Airways” home page as well as how to add and customize the basic user interface using DevExpress ASP.NET Components. If you missed those tutorials, feel free to head over to the DevExpress Channel and view them.

    DX Airways RWA - Membership and Authorization

    Continuing with the homepage construction, we now look at implementing Membership and Authorization for the public facing website. We’ll be using the ASP.NET Provider Model and integrating it with our XPO Objects to facilitate usage of the ASP.NET Security Controls. Eventhough we use a custom provider, Membership and Authorization will be kept as a conventional two-level model made up of Users and Roles. So, click here or on the image above to watch the new installment in our DX Airways RWA Series.

More from DevExpress
Live Chat
Have a pre-sales question?
Need assistance with your evaluation?
We are here to help.
Chat is one of the many ways you can contact members of the DevExpress Team. We are available Monday-Friday between 8:30am and 5:00pm Pacific Time.
If you need additional product information, require pre-sales assistance, or want help with your order, write to us at info@devexpress.com or call us at
+1 (818) 844-3383.