Quantcast
Channel: Developer Express Global
Viewing all 3389 articles
Browse latest View live

Blog Post: It’s Microsoft TechDays next week. Where? The Hague!

$
0
0

Thursday and Friday next week (that’s the 28th and 29th May to you), DevExpress will have a booth at Microsoft TechDays at the World Forum in Den Haag. We were there last year as well and liked it enough to come back this year as a Silver Sponsor! Present will be Don Wibier and myself doing the technical stuff – essentially a repeat of the Techorama dynamic from last week – and John Martin will be in charge of giving out the swag. And, well, in charge of us two also. Seriously, it was great fun last year and we’re excited to be back!

So, if you’re going to be there in The Hague, please do come over to the DevExpress booth. We’ll be happy to talk about our current product line and show off what’s coming up in v15.1. Also, given the recent news out of Build, you’ll get an excellent opportunity to ask us what we think about the possibilities for new features that face us in the second half of the year. You know: Windows Universal Apps, Windows 10, Visual Studio 2015, ASP.NET 5, etc, etc. Plus, remember that Don can speak Dutch like a native (because he is)so you can chat away with him and I’ll just stand there with a fixed smile and hand you a t-shirt. Mind you, Don is presenting a couple of sessions (“Breaking Bad: you CAN make Fast Web Pages” on Thursday at 15:00, and “Consuming Azure Mobile Services in a JavaScript App” on Friday at 13:30), so I’ll be taking charge of the booth during those hours.

Oh, and Rachel tells me that we will have a raffle as well, maybe even one each day. So you just have to come to the booth and grab a ticket. Maybe you’ll be the winner!

See you Thursday!


Webinar: 26-May-2015 10:00 PST - TestCafe: What’s New in v15.1 (Intermediate (200))

$
0
0
Join us as Technical Evangelist Paul Usher reveals the latest features in TestCafe v15.1. In this presentation Paul will: highlight the improvements to the Results View page, step through the changes to the assertion failures, explain the archive test feature, and demonstrate the new screen capture function! In addition, Paul will step through some of the more common mistakes made when creating tests and how to avoid them.

Blog Post: WinForms and WPF Word Processing - Rich Text Editor Layout API (Coming soon in v15.1)

$
0
0

With v15.1, we'll introduce a new Layout API for our WinForms & WPF Rich Text Editor - objects, properties and methods that allow you traverse the document layout tree and access layout elements. The Layout API is located in the DevExpress.RichEdit.v15.1.Core.dll assembly, and is available for both WinForms and WPF Rich Editors, as well as for Rich Edit Document Server.

This new API can be used to control all aspects of document layout. In previous versions, the DevExpress Rich Edit core gave access only to objects related to the document model - so that you have more control over the logical structure of the document. The document’s visual appearance, however, was not available...even for analysis. To understand at which page location and on which line a particular word is located was a problem without an easy solution. With the new Layout API all of this changes dramatically....

WinForms & WPF Rich Text Editor Layout API

Use Case – Pagination

Let's look at a simple use-case...that the first document table must always be on the second page. When a document is modified, we need to check that this requirement is met and alert the user if it has not. The code snippet below uses the Layout API to address this issue.

void CheckLayout()

{         

   DevExpress.XtraRichEdit.API.Native.Table table = richEditControl1.Document.Tables.First;

    if (table != null)

    {

        // Obtain the layout element related to the table.

        LayoutTable ltable = richEditControl1.DocumentLayout.GetElement<LayoutTable>(table.Range.Start);

        // Obtain zero-based page index of the page containing the layout element.

        int pageIndex = this.richEditControl1.DocumentLayout.GetPageIndex(ltable);

        // Check whether the layout element is located at the second page.

        if (pageIndex != 1)

            MessageBox.Show("The first table is not on the page 2. Review pagination.");

    }

}


Technical Breakdown...

The document layout model in the Layout API is a hierarchical tree-like structure. Each node in a tree is an instance of a class which implements a base interface named LayoutElement. A class representing a specific element is named after the element in question with the  addition of the prefix Layout or the suffix Box. There are LayoutPage, LayoutHeader, LayoutPageArea, LayoutFooter, ... BookmarkBox, PlainTextBox etc. A layout element may also include a related range in the document.

The main entry point of the Layout API is the RichEditControl.DocumentLayout property. This property provides access to the DocumentLayout object containing basic properties and methods for work with the hierarchy of document layout objects. After any change in text or formatting, the document's layout is recalculated and the DocumentLayout.DocumentFormatted event fires. You can call the CheckLayout() method shown above in the DocumentFormatted event handler to validate changes.

The DocumentFormatted event handler is running in UI thread. To avoid concurrency issues, always execute the CheckLayout method asynchronously in UI thread using the RichEditControl.BeginInvoke method, as illustrated in the following code:

richEditControl1.BeginInvoke(newAction(() =>

{

    CheckLayout();

}));


How to Start...

To obtain access to elements which constitute the document’s layout, create a Visitor object (object that implements a Visitor pattern) and navigate to a node of the document layout tree. Subsequently your visitor will traverse down the tree and visit every child node. For each node it may call a specific method. At this time, you can only get information on the visited node. However, future API versions will allow you to hide the element, change the order in which elements are rendered or draw custom graphics.


The Visitor object must be a descendant of the DevExpress.XtraRichEdit.API.Layout.LayoutVisitor abstract class. For each layout element the LayoutVisitor class has a virtual method, thus the descending class must override this method to obtain access to a particular element type. The following code is a visitor class which gets access to every line of text in the main body of the document.  It then prints visual coordinates and document position on which the line starts. A line in the document is a LayoutRow object in terms of Layout API. The VisitRow method will be automatically called for each line.


    classMyDocumentLayoutVisitor : DevExpress.XtraRichEdit.API.Layout.LayoutVisitor

    {

        protectedoverridevoid VisitRow(LayoutRow row)

        {

            if (row.GetParentByType<LayoutPageArea>() != null)

               System.Diagnostics.Debug.WriteLine("This row is located at X: {0}, Y: {1}, related range starts at {2}",

                    row.Bounds.X, row.Bounds.Y, row.Range.Start);

 

        // Call the base method to walk down the tree to the child elements of the Row.

        // If you don't need them, comment out the next line.

        base.VisitRow(row);

        }

    }

To start traversing the tree, pass the node (in this situation, it is the document’s page, the LayoutPage object) of the document’s layout tree to the Visit method of the MyDocumentLayoutVisitor class.

Summing up, the resulting code for calling the visitor looks as follows:

    richEditControl1.DocumentLayout.DocumentFormatted += DocumentLayout_DocumentFormatted;

        // ...

        privatevoid DocumentLayout_DocumentFormatted(object sender, EventArgs e)

        {

            richEditControl1.BeginInvoke(newAction(() =>

            {

                int pageCount = richEditControl1.DocumentLayout.GetFormattedPageCount();

                for (int i = 0; i < pageCount; i++)

                {

                    MyDocumentLayoutVisitor visitor = newMyDocumentLayoutVisitor();

                   visitor.Visit(richEditControl1.DocumentLayout.GetPage(i));

                }

            }));

        }

Example of the Visitor Approach

In the XtraRichEdit Layout API demo, the document layout structure is visualized by populating aTreeView control with layout elements. Clicking a node selects the related document range. The application window looks as follows:

WinForms & WPF Rich Text Editor Layout API Demo
 
The selected node is the ParagraphMarkBox element located on the first line (element LayoutRow) of the main page area (element LayoutPageArea). The main page area is located on the third page (element LayoutPage) of the document.



Blog Post: 15.1 Launch Webinar Week!

$
0
0

It’s that special time of year, right as summer starts…that’s right, it’s DevExpress launch time and that means lots of webinars coming all next week! You can register here for all of them now. As usual there is a lot to cover across all platforms.

And the whole team is in it to win it! Hear from Julian, Paul, Mehul, Don, Mark and, of course, yours truly. Find out what’s new and ask any questions you might have live!

Of course, if you can’t make it live, you should still register and we’ll send you all of the recordings to watch at your convenience.

If you have any questions about our 15.1 Launch webinars or webinars in general, feel free to email me at amandac@devexpress.com.

Until next week!

Blog Post: WinForms Navigation Pane (Coming soon in v15.1)

$
0
0

The new DevExpress Navigation Pane control was created to support the requirements of our PDF Viewer (see my previous blog post about Bookmarks). It can be best described with the animation below...

As you can see, the Navigation Pane is divided into two distinct areas - the page header and page content region.

The Page header area displays vertically aligned page headers, which behave much like traditional tabs. Each tab can display a page image and\or page caption.

By clicking a page header, you expand the resizeable page area (the pane displays the contents of the active page).  The pane incorporates its own header, which contains page caption, custom header buttons, expand\collapse button and pane expand\collapse button. Page content area is sized based upon the RegularSize property and if the AllowResize property is true, can be resized at runtime.

This is certainly not the most complex UI control we ship, but I think it has a number of interesting use-cases. What do you think? Is it something you might use in an upcoming project? Let us know!

Blog Post: ASP.NET Data Grid - Card View (Preview Release)

$
0
0

Check out the new DevExpress ASP.NET Card View control, providing a Microsoft Outlook-inspired Contacts View with integrated data shaping and editing capabilities:

DevExpress ASP.NET Card View - Popup Edit Form

It's part of the v15.1 release and it's packed with great features.

Card view

A card view interface provides the end-user with information on cards rather than just rows and columns of a grid table. If you've used Microsoft Outlook's Contact interface then you've experienced card view:

Based on Grid and Data View

The new ASP.NET Card View is based on the powerful DevExpress ASP.NET GridView and DataView controls. So it shares many of their great feature set and ability to databind so just about any data source.

Features

DevExpress ASP.NET Card View - Templates

This community technology preview of the DevExpress ASP.NET Card View control includes these features:

  • Server mode
  • Data sorting
  • Data filtering (the search panel, header filter, filter control)
  • Data editing ( two edit modes are provided)
  • Templates
  • Card focusing
  • Card selection
  • Built-in pager
  • Endless paging
  • Responsive UI

The new ASP.NET Card View control is also responsive! This means that once you set the Width to 100%, then the Card View control will resize with your browser. And the items inside the Card View control will expand and collapse as necessary.

Preview version (CTP for v15.1)

We're releasing it as a community technology preview. Why? Because it's a slick new control that we're still perfecting.

However, the new ASP.NET Card View control has enough of a feature set that we'd love for you to test drive and give us your feedback.

Register for v15.1 webinar

To see all the new features coming out for the v15.1 release, sign up for the "What's New for ASP.NET and MVC (v15.1)":

Click here to register

Thanks!


Your Next Great .NET App Starts Here

Year after year, .NET developers such as yourself consistently vote DevExpress products #1.

Experience the DevExpress difference for yourself and download a free 30-day trial of all our products today: DevExpress.com/trial (free support is included during your evaluation).

Blog Post: ASP.NET Reporting - Expression Editor (Coming soon in v15.1)

$
0
0

More good news for web developers...In our upcoming release, the DevExpress ASP.NET Reporting platform will ship an Expression Editor. 

This new Expression Editor provides a straightforward UI for the construction of expressions using predefined functions, logical and arithmetical operators against the report's data source fields.

ASP.NET Reporting - Expression Editor


As you know, Expressions have multiple use-cases. Perhaps the most important is their use as conditions for formatting rules.

Your end-users can access the list of formatting rules available for the selected control from the Appearance section of the Properties window and simply select the checkbox for each rule they wish to apply to the control. In addition, they can add or delete format rules - edit format options and conditions for existing rules.

ASP.NET Reporting - Format Rules
 

Expressions & Calculated Fields

In previous versions, to specify a calculated field’s expression, users would have to enter it manually. With this release, you are now able to build the expression using the Expression Editor -  which can be invoked by clicking the ellipse button for a calculated field’s Expression property.

ASP.NET Reporting - Expression Editor

We look forward to your feedback on this new feature....Let us know what you think.
 

Blog Post: WinForms Charting - New Designer (Coming soon in v15.1)

$
0
0

v15.1 will bring with a brand new Chart Designer for our WinForms Chart Control. The new Chart Designer allows you to:

Select a chart item and quickly customize it. The most common properties for the selected item are displayed within the Options Tab.

WinForms Chart Designer - Item Selection 


...If you require more complex chart element customization, you'd simply use the Properties tab.

WinForms Chart Designer - Properties
 

Easily navigate through a chart structure using the Chart Elements Tree.

WinForms Chart Designer - Element Tree
 

Drag-and-drop data fields and bind them to a chart.

WinForms Charts - Drag and Drop Binding
 

In addition, you can allow end-users to customize DevExpress Charts you ship within your app by using this same Chart Designer. To introduce this functionality to your app, you need 2 lines of code...

ChartDesigner designer = newChartDesigner(chartControl1);

designer.ShowDialog();


The following video demonstrates actual use of our new WinForms Chart Designer.


Tell us what you think - we'd love to know how many of you allow users to customize charts at runtime...


Blog Post: PDF Document Processor: Memory Usage and Performance Optimization (Coming soon in v15.1)

$
0
0

Both the DevExpress PDF Viewer control (for WinForms & WPF) and the PDF Document Processor (Document Generation Library) are getting performance enhancements in our upcoming release...We optimized PDF document load times and associated memory usage during load/save and load/render scenarios.

In our internal performance tests (loading a document with 3000 pages - 100MB), the new PDF Document Processor v15.1, performed quite well when compared to v14.2...

Metric

v14.2

v15.1

Adobe

Load time (seconds)

23.5

5.1

3.5

Memory (MB)

362.6

94.1

85.6






Perhaps "quite well" is an understatement - the performance numbers for v15.1 are much better than any previous version and approaching those of Adobe itself. 

These performance gains were achieved by implementing lazy document model creation and keeping weak references on document resources. This allows the control to read, manipulate and save documents of an unlimited size. Memory is only used for rendering/saving current page resources – page by page, and can be freed immediately.

In addition, images are no longer decompressed on save operations...allowing you to manipulate and save the documents with very large images even if they cant be displayed in the DevExpress PDF Viewer.

Blog Post: WinForms & ASP.NET Pivot Grid Controls - New Excel Data Export Engine

$
0
0

Last week I mentioned our Excel data export engine - a new capability which piggy-backs on earlier work we did for our Grid controls...

Many of you have already asked about introducing this new export option for our Pivot Grid...o I think the cat's out of the bag by now....Our WinForms and ASP.NET Pivot Grid Controls will soon ship with a much improved Excel data export engine.  Just like in our Grid controls, both performance and memory use of this new Excel export engine has been improved significantly when compared to older versions.

WinForms and ASP.NET Pivot Grid Excel Data Export

Here's a list of Pivot Grid features supported for all Excel export operations:          

  • Data Grouping (Outline)
  • Fixed Columns
  • Cell Formatting - exporting number format
  • Ability to select whether to export display text or values.

Blog Post: Universal Apps - We got stuff coming

$
0
0

Just a couple of quick screenshots of our DevAV app (hopefully you've seen variants of this app for WinForms and WPF)...Should give you a sense as to some of the things we have planned for Universal Apps...

Universal App Controls - Grid

Universal App Controls - Charting, Navigation and Grid

Universal App Controls - Phone Grid - List  Universal App Controls - Phone Chart

Blog Post: ASP.NET Data Grid - Binary Image Editor (Coming soon in v15.1)

$
0
0

In the v15.1 release, we've added editing functionality to the DevExpress ASP.NET Binary Image control. This powerful new feature provides your end-users with a fast and easy way to upload images directly to the web server:

DevExpress ASP.NET Binary Image Editor

The Binary Image control displays images from a binary stream.

ASP.NET GridView Benefits

The Binary Image control is a standalone control. And the DevExpress ASP.NET GridView uses this control when you have a BinaryImageColumn type. This means that your end-users will get the same benefits image editing capabilities in the GridView:

New EditingSettings Property

By default, the new edit functionality is disabled. To use the new edit feature, simply set the EditingSettings.Enabled property to true and your end-users can edit (upload) images.

Upload control

Btw, the new edit feature uses the versatile DevExpress ASP.NET Upload control internally to provide the upload functionality! Reuse, ftw!

Register for v15.1 webinar

To see all the new features coming out for the v15.1 release, sign up for the "What's New for ASP.NET and MVC (v15.1)":

Click here to register

Thanks!


Your Next Great .NET App Starts Here

Year after year, .NET developers such as yourself consistently vote DevExpress products #1.

Experience the DevExpress difference for yourself and download a free 30-day trial of all our products today: DevExpress.com/trial (free support is included during your evaluation).

Blog Post: ASP.NET Charts - Runtime Chart Designer (v15.1)

$
0
0

Over the few years we’ve had web-based charts, we’ve always had a Visual Studio-based designer for customizing and creating charts. 

Using this designer, you can specify the elements that make up a chart, such as the one or more data series, the chart types, and so on.

Feedback from customers has been positive, but – and there’s always a but – customers also wanted the same kind of functionality for their users.

So, I am happy to announce that, with v15.1, we’re releasing a brand new ASP.NET runtime charts designer for WebForms.

Before you ask, the designer is implemented as a separate control . Drop the new ASP.NET ChartDesigner control on a form, add a few lines of code that will allow the control to determine where to load and save the customized chart definition, and you’re all set: your users will now be able to customize the chart as and how they wish, in the browser of their choice.

Customization options

So what chart options can they customize? Initially, with v15.1, they’ll be able to

  • Add and remove chart elements like series, legends, titles.
  • Customize chart element appearance and layout like fonts, colors, positions of elements.
  • Manage data bindings of the series.

Register for the v15.1 webinars

If you want to see the chart designer in action together with all other new charting features, click here to register for the “What's New for Reporting & Dashboards (v15.1)”.


Blog Post: ASP.NET Spreadsheet Enhancements (Coming soon in v15.1)

$
0
0

In the v15.1 release, the DevExpress ASP.NET Spreadsheet control is getting some major new features:

Features

Here's the list of v15.1 DevExpress ASP.NET Spreadsheet enhancements:

Improved Copy/Paste

In previous versions, copy/paste operations only worked within a single Spreadsheet document (the Spreadsheet clipboard was used instead of the computer clipboard). End-users can now use copy/cut/paste keyboard shortcuts (Ctrl+C, Ctrl+X, Ctrl+V) to transfer data between multiple Spreadsheet documents and even between the Spreadsheet and an external application (Excel, Word, etc.).

Support for Streams and Byte Arrays (Open/Save Documents)

A new server-side API (methods and events) has been implemented so you can store, open and save documents both in the file system and in other locations (such as a database).

Worksheet Content Selection

A click on the top-left header cell now selects the contents of entire worksheet cells.

Proportional Resizing of Images and Charts

End-users can resize images and charts proportionally by dragging their corners (chart resizing requires holding down the Shift key). Resizing operations can be canceled by pressing the Esc key.

Register for v15.1 webinar

To see all the new features coming out for the v15.1 release, sign up for the "What's New for ASP.NET and MVC (v15.1)":

Click here to register

Thanks.


Your Next Great .NET App Starts Here

Year after year, .NET developers such as yourself consistently vote DevExpress products #1.

Experience the DevExpress difference for yourself and download a free 30-day trial of all our products today: DevExpress.com/trial (free support is included during your evaluation).

Blog Post: DevExtreme HTML5 Widgets - Data Grid Export, Fixed Columns, & more (Coming soon in v15.1)

$
0
0

We've added three major enhancements to our excellent client-side HTML5 Data Grid widget:

Excel Export

DevExpress DevExtreme DataGrid Export

This was the most requested feature of the DevExtreme Data Grid widget and I'm happy to announce that it's available in the v15.1 release!

You can now export data displayed in the HTML5/JS Data Grid widget to an Excel document (for all or only selected rows). Data is exported as it is displayed inside the grid - with sorting, filtering and grouping applied - with numbers, dates and formatting maintained.

The exporting is done on the client-side too. To learn more, join me on the webinar listed below.

Fixed Columns

The DevExpress HTML5 Data Grid allows you to anchor columns to the left or rightmost grid edge. When anchored, columns are not horizontally scrolled with the grid.

Header Filter

With this release, you can filter grid data against any column by choosing unique column values from a drop-down list (using the column header’s filter button).

Register for v15.1 webinar

To see all the new features coming out for the v15.1 release, sign up for the "What's New for DevExtreme (v15.1)":

Click here to register

I'm preparing to do a fantastic presentation and I hope to see you in the webinar.

Thanks!


Create highly responsive web apps for touch-enabled devices and traditional desktops.

From desktops to mobile devices, DevExtreme HTML5 Data Grid delivers the flexibility you’ll need to build apps that reach the widest audience and deliver touch-first user experiences to power your next great interactive website.

Download a free and fully-functional version of DevExtreme now: Download DevExtreme


Blog Post: XAF: Enhancements to existing modules, Entity Framework and performance (Coming soon in v15.1)

$
0
0

Notifications Module - Officially Shipping

The eXpressApp Framework's Notifications Module (which first shipped as a CTP in v14.2), will officially ship in v15.1 and can now be used in production environments. This update includes a refactored API to simplify its use, addition of new features, improved stability and performance.

We appreciate all the great feedback you provided to us as it helped us cover even more use-cases with this module.


            cid:image001.jpg@01D08F37.E74B7640


Here are a few of the new features we've included in the Notification Module:

  • Ability to open an editable DetailView for the notification record.
  • Unobtrusive notifications when only the number of items changes in the status bar.
  • Ability to display all or only postponed items.
  • Improved processing performance.


Workflow Module - Entity Framework Support

The Workflow Module integrates Windows Workflow Foundation (WF) 4.0/4.5 support into XAF. WF is a workflow management framework designed to assist you in creating more manageable, workflow-enabled applications.  By leveraging WF functionality, the Workflow Module allows you to automated long-running business processes within your XAF application - where the intermediate steps are hours, days or weeks apart. The module allows users to modify the automated processes without writing any code or visualizing complex business processes.

With v15.1, you can now integrate our Workflow Module when using Microsoft ADO.NET Entity Framework. To achieve this, we have implemented EF-compatible versions of workflow entities like EFWorkflowDefinition, EFWorkflowInstance, EFTrackingRecord, EFStartWorkflowRequest, etc., and performed other required R&D and testing work.

            cid:image002.png@01D08F37.E74B7640

Additional Enhancements to XAF's Web and WinForms UI, its Core and Performance

The ASPxDocumentViewer control is now used for report previews in ASP.NET applications (we've deprecated the old Report Viewer control.) By using this new report viewer, cascading parameters and Drill-Down report types are now supported within XAF ASP.NET applications:

              cid:image003.png@01D08F37.E74B7640


Delayed data loading for detail forms has been implemented forWinForms apps. It’s best to demonstrate this with a short video (note that an artifical pause was intentionally added to emulate loading a large amounts of data). You can manually enable this mode via the DelayedDetailViewDataLoading property of the XafApplication class, which can be set either in code or via the Application Designer. Technically in this mode, the DetailView form is displayed nearly instantly, without any data in controls and then data asynchronously retrieved from the database and the controls (e.g., editors display actual data values and the related Actions are updated) are updated accordingly. While this does not really speed things up, it helps to achieve a better UX and perception, as a user receives instant feedback, which may be useful for very complex forms. Take special note that when you enable this mode, the DetailView.CurrentObject will not be immediately available when ViewControllers are activated. Your code should take this situation into account. Our own code already handles this mode well – you can see that the standard Delete Action is activated after data loading is complete.

WinForms apps can now place Actions within the status bar. The easiest way to do this is to set the Category property of your Action to “Notifications”. For instance, this way the Show Notifications Action (the one that displays a “bell”) from the Notifications module is implemented. In addition, review the attached picture and see how I moved (without writing any code and by just using the Model Editor and its ActionDesign | ActionToContainerMapping node) the other built-in Refresh command into the status bar. Alternatively, you can make a custom template as per this document and manage placement via the XAF BarManager or RibbonControl designers.


            cid:image006.png@01D08F37.E74B7640

Another WinForms enhancement is for developers using advanced ribbon menus within their applications. It's now possible to place multiple Action Containers within a single RibbonPageGroup (watch video) and also make it possible to separately configure different menu modes for SingleChoiceActions placed within the same group. Only the required part of Actions from a single RibbonPageGroup can be mapped to the Application Menu or Status Bar. This capability is best illustrated with a short video. You can see a "View" RibbonPageGroup that originally contained two Action Containers: "View" and "Reports". We then add only the "View" container into the Application Menu. There will be more documentation on making these customizations once v15.1 is out.             

We now include a much simpler solution to open a non-persistent object's List View directly from the navigation bar or from custom Actions. The idea is to declare a non-persistent class and decorate it with the DomainComponent and DefaultClassOptions attributes...Then, handle the NonPersistentObjectSpace.ObjectsGetting event and populate the e.Objects collection as required. That's it. Subscribing to this event can typically be done on the ObjectSpaceCreated or ListViewCreated events of the XafApplication class. Internally, the new NonPersistentObjectSpace entity is automatically provided for such non-persistent ListView through NonPersistentObjectSpaceProvider, which is registered among other ORM providers at startup. See a complete example in this Support Center ticketTake special note that in WinForms you can create non-persistent objects with the New Action and navigate to the DetailView of a non-persistent record, make changes and they will automatically be reflected in the source ListView (all changes will obviously disappear after reopening the ListView). See this short video for more info.

We've reduced the number of web browser requests to the server for Web apps in the following scenarios: a) when opening a page for the first time; b) when refreshing a browser page via F5; c) when displaying a popup window. In addition, with several optimizations to the underlying types info system, we've cut startup time by~10-15%.

Hopefully you'll find all of these enhancements useful. Tell us what you think - we want to hear from all our XAF users!

Blog Post: WinForms Conditional Formatting - Grid and TreeList Rules Editor

$
0
0

We've had a lot of great feedback on our support for conditional formatting across platforms and products. In this release, we'll give you the ability to manipulate conditional formatting rules in both our WinForms Data Grid and Tree List - at runtime - using a dedicated designer.

The Conditional Formatting Rules Manager allows end-users to view/edit all formatting rules currently applied to the control and to create new rules as needed. 

The runtime designer ships with a comprehensive feature set and allows you to create the following condition types: 

  • based on value
  • based on date
  • based user defined expression
  • top or bottom rank values
  • above or below average
  • unique or duplicate values
  • color-scale formatting
  • data bars
  • formatting with icon sets

WinForms Conditional Formatting Rules Editor


WinForms Conditional Formatting Rules Editor WinForms Conditional Formatting Rules Editor

Webinar: 01-Jun-2015 10:00 PST - New Controls Optimized for Universal Apps (v15.1) (Beginner (100))

$
0
0
Join Julian Bucknall and Paul Usher and explore our newest product line - Controls for Universal Apps. From our new grid to our charting library - we'll take you through a tour of everything we'll ship as part of this release.

Blog Post: DevExpress Dashboard - Calculated Fields at the Summary Level (Coming soon in v15.1)

$
0
0

The upcoming release of DevExpress Dashboard includes the ability to use aggregate functions when constructing calculated field expressions. As you know, aggregate functions perform calculations on a set of values and return a single value. This allows you to pre-aggregate data source field values in a calculated field expression. The resulting calculated field is similar to a measure in multi-dimensional data sources such as OLAP cubes.

You can use any of the following predefined aggregate functions within the Dashboard Designer...

  • Avg() - Returns the average of all values in the expression.
  • Count() - Returns the number of values.
  • CountDistinct() - Returns the number of distinct values.
  • Max() - Returns the maximum value across all records.
  • Min() - Returns the minimum value across all records.
  • Sum() - Returns the sum of all values.

Let's quickly review how you can create a calculated field...Step 1 is to add a new field using the Field List's context menu.

DevExpress Dashboard - Caluclated Fields

In step 2, you must construct the expression using the DevExpress Expression Editor -  In this example, we'll navigate to Aggregate Functions and construct the following expression: Sum([Profit]) / Sum([Revenue])

DevExpress Dashboard - Expression Editor

Once the expression is complete, you can rename the calculated field. In our example, we'll rename it to Margin. 

At this point, you can simply drag and drop the new field to the desired Dashboard item. In the following example, we use Dashboard Cards to visualize the data..

.DevExpress Dashboard - Calculated Fields and Expressions

So what do you think - how likely are you to use this new feature? We'd love to hear your thoughts.

Blog Post: WinForms - High DPI Support (Coming soon in v15.1)

$
0
0

Thought I'd quickly mention an upcoming update to our WinForms Skins/Themes...

With v15.1, we've enhanced the appearance of DevExpress skin/theme elements to better support high resolution screens. Skin elements now automatically adjust size and margins based upon current DPI settings. The best way to articluate the improvement in rendering is with a picture. As you can see from the comparison images below, we've improved things quite a bit for high-dpi use scenarios.

WinForms High DPI Support

Viewing all 3389 articles
Browse latest View live