Search This Blog


Tuesday, May 24, 2016

WinForms GridListEditor - How to restore values in the auto filter row

I wanted to inform you of a recent solution update for this task, which will help you restore auto filter row values for reference properties as well (previously, there might be an exception). The main change is in wrapping the GridView.GuessAutoFilterRowValuesFromFilter call into the using(var criteriaScope = View.ObjectSpace.CreateParseCriteriaScope()) {...} construction, which relies on the smart DevExpress.Data.Filtering > CriteriaOperator > UserValueParse event  handling inside our XPO/EF core libraries

using System;
using DevExpress.XtraGrid;
using DevExpress.ExpressApp;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.ExpressApp.Win.Editors;

namespace MainDemo.Module.Win {
    public class B152594 : ViewController<ListView> {
        GridListEditor gridlistEditor = null;
        protected override void OnViewControlsCreated() {
            gridlistEditor = View.Editor as GridListEditor;
            if(gridlistEditor != null) {
                gridlistEditor.Grid.HandleCreated += Grid_HandleCreated;
        private void Grid_HandleCreated(object sender, EventArgs args) {
            GridControl grid = (GridControl)sender;
            grid.HandleCreated -= Grid_HandleCreated;
            using(var criteriaScope = View.ObjectSpace.CreateParseCriteriaScope()) {//!!!

After you modify the filter either by manually typing values in the topmost grid row or visually via the filter builder and reopen the form, there will be the following result in the UI:

I think your end-users will appreciate this functionality and I would be grateful to hear from you on how this works in your apps and whether there are any uncovered scenarios. Thanks! 

Friday, May 13, 2016

Usability improvements to the Object Model dialog in WinForms UI

This dialog is typically invoked from the Column Chooser in ListView or the layout customization form in DetailView.

Starting with v15.2.10, we have added the OK button, renamed the Close button to Cancel, and enabled multi-selection in the tree list within the Object Model dialog.

The Add button adds columns but does not close the dialog. You can also double-click an item to add it.
The OK button applies changes and closes the dialog. 
The Cancel button closes the dialog and does not apply changes. 

I hope your end-users find this minor thing useful.

Monday, May 2, 2016

Experimental support of DataView mode in Analysis editors of the PivotChart module in v15.2.10 - YOUR FEEDBACK IS NEEDED

Starting with v15.2.10 the DevExpress.ExpressApp.PivotChart.PivotChartModuleBase and 
DevExpress.ExpressApp.PivotChart.AnalysisEditorBase classes provide the new
 DataAccessMode property. The supported values are  Client (default) and DataView (new).Use the first class via the Application Designer to configure the required data access mode globally for all analysis editors in the application while the second class can be used in a ViewController to configure individual editors (learn more...).
Refer to the eXpressApp Framework > Concepts > UI Construction > Views > List View Data Access Mode  documentation to learn more on the specificities of each data access mode, because the validity of the PivotGridSettingsContent property is up to the XAF developer. For instance, in DataView mode non-persistent properties are not processed.

To test the preview version of this functionality right away in v15.2, almost one month prior to the official release, do the following:

Thursday, April 21, 2016

A new OfficeNavigationBar-based ribbon template for Windows desktop SDI - YOUR FEEDBACK IS NEEDED!

We are considering the addition of the new WinForms SDI ribbon template with the OfficeNavigationBar component on it in v16.1, so I wanted to share our initial thoughts on it and also ask a few questions. First, this is approximately what it would look like in action: 

Expectedly, there will also be animated transitions while switching the screens (like in our WinForms Outlook Inspired App demo). Pixel-hunters might also notice there are less borders between the navigation panel and the view site. The latter is possible because the navigation control is no longer hosted inside a dock panel (so no floating is available as well), which confused application end-users in the past and caused other difficulties. As a result, we hope the whole UI is more clean and easy to read than it was before.

Thursday, April 14, 2016

Improving usability with regard to the ImmediatePostData functionality in GridListEditor (WinForms)

As you perfectly know from my recent posts:-), one of our team OKRs was and still is "improving developer experience when accomplishing common tasks". In this blog post, I am going to cover one more small, but important improvement in XAF v15.2.10+ that adds to this larger goal:

In short, the previous custom-tailored solution is no longer required, as the corresponding code has been moved to the standard delivery. You can see the result in this short video.

Not to cause breaking changes a minor 15.2 version, you can activate this behavior in an editable GridListEditor via the static ImmediatePostDataSupportEnabled option. 
namespace MainDemo.Win {
    public class Program {
        public static void Main(string[] arguments) {
 DevExpress.ExpressApp.Win.Editors.GridListEditor.ImmediatePostDataSupportEnabled = true;
The ImmediatePostDataSupportEnabled option has its default value set to True by default in v16.1.