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

Blog Post: Native UI Controls - Charts v1.1 CTP with Xamarin.Forms support

$
0
0

Since the initial release of our Native Charts for iOS, Android and Xamarin last year, we received numerous requests about support for the Xamarin.Forms platform.

The v1.1 CTP release of Native Charts now offers this support, speeding up cross-platform development with a common user interface for multiple platforms. All you need is to do is install Visual Studio on your Mac or Visual Studio 2017 IDE with Xamarin support on your PC.

We have published a Knowledge Base article that includes a Quick Start guide and links to Xamarin.Forms examples illustrating some of the new features from the upcoming major update.

If you are an active Universal subscriber and would like to try the CTP version prior to its official release, please email our support team at support@devexpress.com or create a private ticket in the Support Center. With that, we can verify your account and provide you with a preview package privately.

If you are using a trial version and want to try new features today, you can purchase a DevExpress Universal license online (this will give you access to early builds such as this CTP). If you own a non-Universal subscription and are ready to upgrade, email us at clientservices@devexpress.com for preferential upgrade pricing.

Now, here’s a quick overview of the new features (note that these features are not specific to the Xamarin.Forms platform and supported in native libraries as well).

Indicators (Calculated Series)

Indicators are widely used for technical analysis and very common in financial charting. Our desktop charts support most common indicators and allow developers to quickly and efficiently provide analytics features in charting applications.

For our mobile charts, we added a special Series type that can use other Series as data sources.

There are 19 indicator types available out of the box (Moving Average, Envelope, Bollinger Bands, and others).

Indicators

The screenshot shows two indicators (Bollinger Bands, Simple Moving Average) in a Candle Stick chart.

Pie (Doughnut) Chart Center Label

This feature has also been taken from our desktop charts where it has proven valuable. With a Center Label, you can display a total value, or even an arbitrary piece of information, in the middle of the Pie (Doughnut) element.

Pie Chart Center Label

The Pie Chart supports both Image Center Labels and Text Center Labels out of the box. If necessary, you can implement a custom Center Label layout.

As usual, we appreciate any feedback that helps us improve the component API before the official release. Please feel free to leave a comment in the KB article or post a ticket in Support Center.


Blog Post: WinForms Subscription - v18.2 and What You Can Expect in mid-November

$
0
0

With the official release of v18.2 right around the corner, we’ve compiled a list of the major features/products we expect to ship in mid-November. If you are an active Universal subscriber and would like to test our most recent features prior to official release, please email our support team at support@devexpress.com or create a private support ticket in the DevExpress Support Center. Once we verify that you own an active Universal Subscription, we'll get you access to the v18.2 CTP. Feel free to test any of the following features and share your feedback with us!

Data Grid Scrollbar Annotations

Inspired by Visual Studio, our WinForms Grid Control now supports annotations - colored markers arranged along the vertical scrollbar designed to visualize:

  • Cells with validation errors
  • Focused/Selected record range
  • Records that match search results
  • Custom data/information

Data Grid Scrollbar Annotations

To enable annotations, navigate to the GridView.OptionsScrollAnnotations section and specify the desired annotations you’d like to display within your Grid.

Demo (requires v18.2)

Excel-style Group Filters for Data & Vertical Grid Controls

Three months ago we asked whether you’d like to see merged group filters within our WinForms Data Grid. This filter menu style has been added to both our Data Grid and our Vertical Grid. For those unfamiliar with this feature, Excel-style Group filters merge values from multiple columns into a single menu so that end-users can filter data against multiple columns when working in a single panel.

Data Grid Excel-style Group Filters

Demo (requires v18.2)

VGrid Excel-style Group Filters

Demo (requires v18.2)

These filters can retrieve data source records asynchronously and are functional when the control operates in both Instant Feedback and Server-side modes.

Excel Filters Improvements

A set of miscellaneous tweaks that improve Excel Filters in all controls that support them:

  • Excel filters now automatically recognize whether an enumeration is nullable, and display or hide the “Is Null” / ”Is Not Null” items accordingly.
  • “Values” and “Filters” tabs now account for inplace ImageComboBox editor settings.
  • Scrollbars for tabs with checkboxes can now display scroll annotations (see above - Data Grid Scroll Annotations)

FilteringUIContext improvements

  • The ResetBindings/ResetBinding method pair allows you to manually refresh editor values.
  • The new AddField method allows you to add custom editors bound to desired data model fields.
  • Now it’s possible to customize items in the Filtering Events via the WithDataItems method. For example, here is how you can assign a custom HTML Text to display item images:
   void filteringUIContext_QueryLookupData(object sender, DevExpress.Utils.Filtering.QueryLookupDataEventArgs e)
        {
            if (e.PropertyPath == "Company")
            {
                e.WithDataItems(dataItems =>
                {
                    foreach (ExcelFilterDataItem item in dataItems)
                    {
                        string companyName = (string)item.Value;
                        item.HtmlText = BuildHtmlText(item.Text);
                    }
                    dataItems.HtmlImages = images;
                });
            }
        }

FilteringUIContext improvements

Demo (requires v18.2)

Skin Colors

With our upcoming release, you no longer need to hunt for a perfect hue to match an existing application theme each time you set a custom background/foreground color for a UI element. “Skin Colors” is a set of pre-defined colors that match the currently applied skin and/or skin palette. To select a color from this set, switch to the “DX Skins” tab at design time:

Skin Colors

Skin Colors are always consistent with the currently applied application theme.

Skin Color Themes

We limited background Skin Colors to a limited set of controls – those who would benefit from this option:

  • Simple Button
  • Grid column headers
  • Tabs
  • Group Control
  • Dock Panels

Foreground Skin Colors, however, are available platform-wide.

Advanced design-time image picker

If your application has many forms with a large number of controls, replacing their raster icons with vectors will require a lot of time and effort. Our new Image Picker simplifies this process. It allows you to drag-and-drop icons onto controls and employs smart search to quickly locate desired icons.

Image Picker

Skin Improvements

Numerous new Skin Editor features and improvements

  • Custom skins now store only differences from the source (template) skin and weigh 90% less.
  • Custom skins no longer store the parent’s skin version. This means that you can create a custom skin once and it will automatically obtain all updates from its parent skin should you upgrade your DevExpress installation.
  • The "External Application Preview" feature allows you to preview custom skins in any C#/VB application you choose.
  • The palette editor (press F7) allows you to preview custom palette colors before you click "OK".

Vector Office 2019-inspired Skin

Extended SVG Icons support

We continue to extend use of SVG icons across all controls. In v18.2, we replaced old bitmap icons in our editors, dialogs and forms. Also, items from the list below now support multiple visual states - normal, hovered, pressed, etc. Once we ship v18.2, you will be able to assign individual vector icons for the following states.

  • BackstageViewControl items
  • RecentItemControl items
  • Context Buttons

Note that this feature is used exclusively for those scenarios where you need to replace icons based on item state. If all you need is to use a greyed-out icon when a button is disabled, and a highlighted icon when a button is pressed, assign a default icon for the Normal state and the DevExpress WinForms drawing engine will automatically re-paint it when necessary.

SVG Icons Collection

v18.2 ships with an extended vector icon set and an easy-to-use Image Picker dialog so you can locate the desired icon at design time.

SVG Icons Collection

New CheckEdit styles

We have extended our CheckEdit vector image-based check styles – as you can see, they are more attractive and support all the benefits that come with use of SVG icons: they scale up and down without loss of quality, and can adapt colors to skins or palettes. See this blogpost to learn more: https://community.devexpress.com/blogs/winforms/archive/2018/07/26/winforms-new-checkedit-styles.aspx

Check Edit SVG Styles

Demo (requires v18.2)

Ribbon Control Enhancements

Right-aligned groups

Ribbon page groups expose a new Alignment property, which allows you to anchor these groups to the right side. This property is in effect for all Ribbon styles except for the TabletOffice style.

Right-aligned groups

Ribbon Performance Update

We overhauled and fine-tuned Ribbon generation engine for our Office controls (Rich, Spreadsheet, Dashboards, etc). As a result, display time has improved by 15-80% (based on usage scenario). Learn more in the following blogpost: https://community.devexpress.com/blogs/winforms/archive/2018/08/23/winforms-ribbon-performance-improvements.aspx

Ribbon Performance Update

PivotGrid Improvements

In-place editors for Pivot Grid

We continue to extend consistency across all our Windows Forms control libraries. Starting with v18.2, our Pivot Grid will be a descendant of the EditorContainer class – this means you can assign editor Repository Items in the same manner as you would with our WinForms Data Grid, Tree List, and other data-aware controls. Invoke the Pivot Grid designer and switch to its “In-place Editor Repository” tab to create and tweak editors. To assign these editors to data fields, go to the Fields section and specify fields’ FieldEdit properties.

Data Processing Enhancements

We will update the DevExpress Pivot Grid to fully support our new in-memory data processing engine (up to 10x faster than its predecessor) across all usage scenarios including:

  • Custom Types
  • Custom Totals
  • UseNativeTypeForAggregates
  • CustomSummary event
  • CustomGroupInterval event
  • Legacy TopN
  • CustomUnboundFieldData event
  • Case-sensitive data binding

Unbound Column for OLAP Data Source

You will be able to add an Unbound Column for the Pivot Grid connected to an OLAP Data Source in code. After you assign an MDX expression string to your column, its values will be calculated on the Analysis Services side.

Other PivotGrid Enhancements

  • Our WinForms PivotGrid now supports HTML formatting - you can add supported HTML tags to field values and row headers as needed.
  • Enable the new OptionsMenu.ShowDateTimeGroupIntervalItems property to add a “Group Interval” sub-menu to the group context menu. Items in this sub-menu allow users to toggle the group interval between day, month, year, and other ranges

  • Customization forms have been slightly reworked to improve the end-user experience.

You can now convert our NavBarControl to the AccordionControl using a single click via it’s Smart Tag.

Paint Style and other NavBarControl settings are retained during conversion - the generated AccordionControl looks and behaves as close to the source control as possible. Note, however, that you will still need to handle all item interaction events manually.

Toast Notifications Improvements

The Generic template released in version 18.1 allows you to use XML syntax to create buttons on the toast notification surface. With v18.2, you can handle these button clicks via the toastNotificationsManager.Activated event as detailed below:

        //handle the button click
        private void ToastNotificationsManager1_Activated(object sender, DevExpress.XtraBars.ToastNotifications.ToastNotificationEventArgs e)
        {
            if (((ToastNotificationActivatedEventArgs) e).Arguments.Contains("viewdetails")) {
                //do something
            }
        }


Fluent UI Scroll Bar

The static WindowsFormsSettings.ScrollUIMode property now accepts a new "Fluent" value which activates the Fluent UI-inspired mode for all DevExpress scroll bars. When used, a scroll bar is collapsed to a thin stripe when not active, and expands to a semi-transparent bar when a user hovers the mouse pointer over it.

Fluent UI Scroll Bar

TreeList Improvements

We have rewritten the TreeList calculation engine to speed performance. The most common operations like repainting, scrolling and data operations are now much faster.

Calendar - Fluent View

Our new FluentUI View for the Calendar Control supports Acrylic and Reveal Highlight effects and allows you to mirror the appearance of a Windows 10 calendar.

Calendar - Fluent View

Scheduler - Google Calendar Sync

With v18.2 Scheduler can automatically synchronize appointments with Google Calendar.

Office Navigation Bar - Tab Navigation View

With v18.2, you can easily create tab navigation like those found in Microsoft Outlook and Visual Studio – user experiences with sleek element appearance and borderless tab headers.

Tab Navigation

Data-aware controls that support HTML text can now be printed and exported in both DataAware and WYSIWYG modes.

Print and Export Improvements

Rich Edit Control Enhancements

RTL support

With our upcoming release, the DevExpress WinForms Rich Edit Control will be able to correctly display, print, and export documents with RTL content:

RTL support

Creating a full RTL engine is a complex task, so this release will not include all RTL related features (e.g., we cannot reorder table columns in RTL documents). Other restrictions will apply. We will describe limitations as we get closer to official release.

Shapes

Over the last few years, we have received many requests from our users to support shapes. So here we are: RichEditControl will support major shape types.

Shapes

You can view, print and export (PDF) documents that contain shapes. Our upcoming release will not provide an API to manage shapes in code.

Continuous Section Breaks

In v18.2, the DevExpress RichEdit Control will allow you to load, view, print and export documents with continuous section breaks. You can control this option in code using our implemented API.

Continuous Section Breaks

Paragraph Options

This release will include a group of new and improved paragraph options:

Widow/Orphan Lines Control

You can now use the Widow/Orphan Control feature to prevent the first or last paragraph line from appearing at the bottom or top of a page.

Widow/Orphan Lines Control

Keep Lines Together and Keep with Next Options

We have improved our "Keep lines together" option so that it mirrors Microsoft Word. In addition, we’ve introduced a new Use the ParagraphProperties.KeepWithNext option so you can keep multiple paragraphs on the same page.

Paragraph Borders

In version 18.2 you will be able to load/save, display, print and export (to PDF) documents with paragraph borders.

Paragraph Borders

Spreadsheet Control – Synchronization with Office File API features

  • Shapes API – You can now programmatically create new shapes, connect and group them, change a shape’s fill and outline settings, add text to a shape, and remove shapes from a document.
  • Sparklines - with this release, sparklines can be printed and exported to PDF.

Sparklines

Chart Control Enhancements

Advanced Pane Layout

Diagram Pane items now support a tabular layout mode. Every Pane will have a title element and an expand/collapse button that allows you to maximize a specific chart region. With this feature, it will be easier to build a dashboard-like layout by grouping Series into separate Panes and maximizing a Series group at runtime.

Advanced Pane Layout

Advanced Pane Layout

Crosshair Panel Enhancements

It is now possible to show Indicator data in the Crosshair Panel.

Crosshair Panel

Diagram

RightAngle Connector Splitting

When the DevExpress Diagram Control calculates routes for RightAngle connectors, it tries to find the closest route from start to finish. This can result in overlaps when multiple connectors originate from the same point. Many of you have asked us to deliver an alternative solution to help reduce confusion.

In v18.2, we will add an option that allows you to split connectors and define the minimum acceptable distance between them.

Crosshair Panel

Diagram Viewer

Many of you have asked us to create a Diagram Viewer and give you the ability to display a non-editable diagram – either static, generated in code, or based on a data source. You can currently configure a diagram as read-only, but it does require that you write some code.

Once we release the Viewer, you will be able to switch to viewing mode and disable all operations that can affect the diagram itself. We will provide a set of options that will help you define allowed operations and automatically hide UI elements that are not.

Crosshair Panel

Pan & Zoom Window

Diagram Control will be able to display a preview of its content in a separate window where you can change its zoom factor and navigate to a specific area.

Crosshair Panel

Single, Multiple, and None Selection Modes

Currently, the Diagram Control allows you to select multiple items using its selection rectangle or modifier keys (Extended mode). In v18.2, we will introduce additional selection modes:

  • None – selection is disabled
  • Single – only one item can be selected
  • Multiple – multiple items can be selected/deselected by clicking them

Blog Post: Reporting Subscription - v18.2 and What You Can Expect in mid-November

$
0
0

Features We Expect to Ship in the First CTP

We are a couple of months away from the official release of v18.2 and wanted to share some of our release plans with you. As always, we welcome your feedback.

WinForms Reporting

Report Designer – Vertical Bands

We’ve added three new types of report bands to our Reporting platform: Vertical Detail, Vertical Header and Vertical Total. These bands allow you to create a report wherein record fields are arranged vertically and record printed horizontally, from left to right. Like its name suggests, this new layout mirrors that of a vertical grid – wherein columns represent rows and rows represent columns.

By introducing vertical bands, we were forced to re-design the report surface. With our upcoming release, document areas that do not contain controls are marked in white and band captions are drawn from the left to the right document margin.

Picture Box – Free-Hand Drawing in Print Preview

Over the year, we’ve received many requests to enhance Print Preview Content Editing and provide a way to sign a document. Our upcoming release will give you the ability to draw any figure when displaying a report in the Print Preview:

Picture Box – Image Upload in Print Preview

This functionality relates in part to the feature mentioned a moment ago. You will now be able to upload an image or choose it from a list of predefined images when displaying a report in the Print Preview.

Picture Box – SVG Image Support

We will give you the ability to use SVG images for document creation. This functionality will not include support for images with gradients and texts. We hope to extend this functionality in future iterations (based on usage feedback):

We expect to incorporate these new features across all supported report platforms, including Web and WPF.

Web Reporting 

Web Report Designer and HTML5 Document Viewer – New Color Schemes and Custom Scheme Support

In previous versions, our HTML5 Document Viewer and HTML5 Report Designer offered only two themes: light and dark. We now allow you to apply any DevExtreme Theme (except Material) to both the Viewer and Designer or change appearance manually:

Web Report Designer - Watermark Display

Watermarks are now visible in the Web Report Designer. This allows end-users to apply pre-printed forms and correctly position report controls:

Web Document Viewer – Flexible Tab Panel Position

Our support team has received many requests related to tab panel position and we’ve implemented a way for you to switch Tab Panel position from right to left using a single property:

Web Document Viewer and Report Designer – Client-Side API Enhancements

We've extended the client-side API of the Web Report Designer and Document Viewer with the following capabilities:

  • Hide specific export formats or the entire Export Options panel and customize export options;
  • Change Toolbox item tooltips;
  • Refresh report tabs;
  • Respond when switching between report tabs;
  • Customize the Field List actions

Open/Save Report Dialogs - Search Support

We've incorporated a search panel into the Web Report Designer’s Open/Save Dialog so end-users can quickly locate a specific report in storage:

Angular Reporting NPM Package

We are going to release an NPM package to help you integrate our HTML5 Document Viewer and Web Report Designer into an Angular-based application:

Module code:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { DxReportViewerModule } from 'devexpress-reporting-angular';
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    DxReportViewerModule  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

App.component.html code:

<div><dx-report-viewer [reportUrl]="reportUrl" height="800px" cssClass='myViewer'><dxrv-request-options [invokeAction]="invokeAction" [host]="hostUrl"></dxrv-request-options><dxrv-tabpanel-settings width="500" position="Left"></dxrv-tabpanel-settings><dxrv-callbacks 
          (BeforeRender)="BeforeRender($event)" 
          (CustomizeMenuActions)="CustomizeMenuActions($event)"
          (CustomizeElements)="CustomizeElements($event)"></dxrv-callbacks></dx-report-viewer></div>

Query Builder - Improved UX and Query Parameters Support

We’ve updated the properties panel interface in the Query Builder component to improve discoverability of query properties and table items. We’ve also added the ability to create query parameters.


Features in Progress But Not Included in the CTP

All Platforms

Report Wizard – Page Setup and Report Color Scheme Pages

We will add new Report Wizard page so you can specify paper size, orientation and document margins. The second page will allow you to select report control colors:

Report Controls – New Default Font 

We will stop using Times New Roman as our standard font.

End-User Report Designer - Script Code Completion Offline Mode

Currently, this feature requires an internet connection to our hosted service and works only for built-in .NET types and types from our source code. Our upcoming release will give you the ability to activate code completion in offline mode (and it will support custom assemblies).

WinForms Reporting

End-User Report Designer - Office-Inspired Property Grid UI

We will update the properties panel so it mimics Microsoft Office’s new UX

Data Source Wizard – JSON and DevExpress ORM Persistent Object Data Sources

We will include two new data source types into the Data Source Wizard allowing you to bind reports to JSON and DevExpress ORM Persistent Objects.

Miscellaneous improvements

  • End-User Report Designer – Skinned Save / Open File Dialogs:we will update the file dialogs used in the End-User Report Designer with those released in v17.2.
  • Expression Editor - PageIndex and PageCount Variables: we will update advanced expression bindings mode so you can use PageIndex and PageCount variables in the expressions constructed for the PrintOnPage event handler. 
  • High-DPI - Known Issues Resolution: we will fix all known/reproducible issues within our Document Viewer and End-User Report Designer on high-dpi displays. 

ASP.NET Core Reporting

We will extend our support for .NET Core and strive to deliver the level of functionality that is currently available on other supported platforms. Enhancements will include:

  • Embedded Visual Studio Report Designer.
  • Give you a way to handle report control events just like standard .NET Framework apps.

Web Reporting

Improved Internal Server Error Handling

As you know, internal server errors can occur when attempting to open a report in either our Web Report Designer or display it within our HTML5 Document Viewer. To discover the underlying cause of the error, you must currently register a special logger-service in your web application and examine the collected logs. We will update our Web Reporting components to give you the ability to show an error's details in a browser instead of the standard 'Internal Server Error' text. 

Report and Dashboard Server

Administrative Panel Modern UI (Release Version)

We will complete and ship the Report Server’s new user interface and enable it by default. This new SPA user interface fully replicates the functionality of our old administrative panel, renders its UI on the client with improved response times and makes it easier to locate specific items and execute operations using lists of documents and scheduled tasks instead of single tiles.

Localization Support

We will add a new assembly to our Localization Server and allow you to translate all administrative panel interface elements along with report and dashboard designer and viewer components.

White-Labeling Support

We will give you the ability to change the default color scheme of the administrative panel interface and replace built-in product logos.

Display Dashboards in Remote Applications

We will give you the ability to display dashboards generated with the Report and Dashboard Server within a custom application.

What We Hope to Include in v18.2 (no promises yet)

All Platforms: Parameter Panel Usability

We will improve our Reporting platform’s Parameters Panel – to both simplify usage and reduce the amount of code you write to deliver advanced functionality to end users. Specifically, we will address shortcomings in the following usage scenarios:

  • Pass a null value
  • Hide one parameter based on the value of another
  • Change the Parameters panel’s appearance (editors, editor caption locations)
  • Allow a developer to pre-select all parameter values if a parameter is data bound
  • Show “Select All” item when all parameter values are selected
  • Sort parameter values by display names

Try now!

If you are an active Universal subscriber and would like to test any of these features prior to its official release, please email our support team at support@devexpress.com or create a private ticket in the Support Center. With that, we can verify your account and provide you with a v18.2 preview installation privately.If you are using a trial and want to try this feature today, you can purchase a DevExpress Universal license online (this will give you access to early builds such as CTP).

If you own a non-Universal subscription and are ready to upgrade, email us at clientservices@devexpress.com for preferential upgrade pricing.

We are very interested in your thoughts! What do you think about these new features? Do you think we’ve missed something with our implementation?

Blog Post: DevExtreme Subscription - v18.2 and What You Can Expect in mid-November

$
0
0

Earlier this year, we published DevExtreme's 2018 Roadmap and asked for your input on our development plans.

I'm happy to say that nearly half of the features/products we announced have already been released: https://js.devexpress.com/New/18_1/.

Some are under active development, and others have been postponed to the v19.1 release. In addition to major features we detailed in our roadmap, several minor but high demand enhancements will be shipped in DevExtreme v18.2.

Since May 2017, many of the DevExtreme controls have been available on GitHub. This move has allowed us to publish pre-releases twice a month. Which is why, unlike the other teams, there will not be a special v18.2 CTP from the DevExtreme team. Take a look at all the great features we're working on and give us your feedback by using the links below.

Application Layout Templates

We are working on responsive application layouts. These layouts will be based on a new Drawer component and UI widgets like the TreeView, List, Toolbar, etc.

Please refer to the Drawer component discussion page to learn more and leave your feedback.

Angular

Our devs who work on our Angular offerings are focused on an application template and building CLI tools for bootstrapping a new DevExtreme Angular application. These tools are based >Angular CLI and Angular Schematics.

ASP.NET MVC & Core

We will not introduce any more ASP.NET MVC or Core project templates in the v18.2 release. However, we expect to create demos and examples that will help you build responsive layouts for your next web app.

Angular UI Scaffolder for ASP.NET Core CRUD API

We are working on extending our existing Razor UI scaffolder with its Angular counterpart. We will implement it using an approach that's similar to the one described in this blog post: DevExtreme MVC - New Web API and Razor View Scaffolding Wizard (v18.1). The difference is that the scaffolder will generate Angular application views with DevExtreme Angular components. The target project is Angular CLI.

DataGrid and TreeList

FilterBuilder Customization

This feature is ready for early testing. You can now limit FilterBuilder group nesting and specify the available operation set:

{
  ...
  maxGroupLevel: 0, // disable group nesting
  groupOperations: ["and", "or", "notAnd", "notOr"] // specify available operations
}

Export to Excel

This feature is under active development. Refer to the feature discussion page to learn more and leave your feedback.

Initially, we planned to port our DataGrid's export engine to our TreeList widget. After careful consideration, we decided against this easy but short-sighted approach. We decided to postpone this feature to v19.1 and refactor our implementation to help improve performance, extend export output formats and incorporate WYSIWYG export.

Command Column Customization

This feature is under active development. Please refer to the feature discussion page to learn more and leave your feedback.

Focused Row and Keyboard Navigation

This feature is under active development. Please refer to the feature discussion page to learn more and leave your feedback.

PivotGrid

Paging Capabilities (postponed to v19.1)

We planned to support local and remote data paging in our JavaScript PivotGrid widget. This feature didn't get a lot of survey votes and was at the bottom of our priority list. It's unlikely to be included into v18.2 but we still plan to introduce it in v19.1.

Scheduler

Group by Date

This feature is under active development. Please refer to the feature discussion page to learn more and leave your feedback.

Scheduler - Recurrence Editor

This feature didn't get a lot of votes and ranked lower than others. It's unlikely to ship as part of v18.2 but we still hope to include it in future iterations.

UI Widgets

New HTML/Markdown WYSIWYG Text Editor

We expect to ship this product as CTP in v18.2. Please refer to the discussion page to learn more and leave your feedback.

DateBox Masked Input

We are working on fixing issues discovered during internal alpha-testing. A discussion page with live demos is coming to GitHub. Feel free to check it and leave your feedback.

FileUploader Enhancements

The following features have been implemented and are available in the preview builds:

  • File uploading by chunks
  • Client-side validation (sandbox demo)

Charting

New Sankey diagram component

The Sankey diagram is not listed in our Roadmap but has been used in internal projects. Since we have had some user requests for this component, we decided to make it a part of the DevExtreme Data Visualization library.

image.png

Refer to the discussion page to learn more and leave your feedback.

Zoom/Scroll Enhancements

The following usage scenarios are implemented and are available for testing:

  • Value-axis Zooming: You can now zoom a chart by its Value-axis.
  • Save zoom level on data updates.
  • Scroll/Zoom to areas without data.

We are also working on the following items:

  • Interactive Zooming & Scrolling: Previously, a chart was updated only when you complete zooming/scrolling operations. We'll improve our Charting library to support continuous updates during zoom/scroll operations.
  • Area zooming by mouse selection, but there is a chance it won't be completed in time for v18.2.

Updating Data

The following data update scenarios are now supported and available for testing:

  • Append data to the end
  • Append and shift
  • Redraw from scratch

We have also implemented uninterrupted navigation during data updates (you can zoom, scroll and explore a chart while it is updated in the background) and given you the ability to jump to new data and view it in real-time. Check the live feature preview. A feature discussion page is coming soon.

Common

Real-time UI Updates and Push Notification API

This feature is under active development. Please refer to the feature discussion page to learn more and leave your feedback.

The DevExtreme DataGrid, TreeList, and Data Layer will be improved to better work with real-time data.

Theme Builder

Online Visual Tool UX Improvements

We are working on a new ThemeBuilder UI that will simplify user experience and support the new theming capabilities that are described below.

themebuilder-3-master.png

Color Swatches

This feature has been pre-released. Please refer to the feature discussion page to learn more and leave your feedback.

CLI Tools

This feature has been pre-released. Please refer to the feature discussion page to learn more and leave your feedback.

Chart Palette Customization

This feature may not be completed in time for v18.2 and may be postponed to v19.1

React and Vue Wrappers

DevExtreme React and Vue Wrappers will officially ship in v18.2.

The following features have already been implemented and pre-released:

React Wrappers:

  • Controlled and uncontrolled modes
  • Rendering customization via native React template components or a render method (props with -Component or -Render postfixes)
  • TypeScript support
  • Type checking with React PropTypes
  • Support for the 'className' and 'ref' React attributes
  • Child configuration components (for instance, DxColumn for DataGrid columns configuration)

Vue Wrappers:

  • Data binding capabilities
    • One-way data binding
    • Two-way data binding (.sync modifier)
    • v-model support for data editors
  • Rendering customization via named slots.
  • v-on directive support (and @ shorthand)
  • Vue prop validation and type checks
  • Child configuration components (for instance, dx-column for DataGrid columns configuration)

TypeScript support for Vue Wrappers is coming soon.

You can track the progress in the corresponding GitHub repos. We are fixing known issues, improving our API and creating React and Vue demos. There are about 350 demo cases, so only a portion will be ready in mid-November.

Native React Components

React Grid - Fixed Columns

This feature has been pre-released. Documentation with live examples is available. Leave your feedback or report an issue in our GitHub repository.

React Grid - Data Summary Rows

This feature has been pre-released. Documentation with live examples is available. Leave your feedback or report an issue in our GitHub repository.

React Scheduler

Our new React Scheduler components is under active development. At present, we have implemented the following features:

  • Week, Work Week and Month views;
  • Date and view choosers;
  • All-day panel;
  • Appointment tooltips;

React Chart

The following features have been released and are available for testing:

The following features are under active development. We expect to ship by mid-November:

  • Chart palette management

The following features are expected to be released later this year:

  • Hover and selection scenarios
  • Chart animations

Native Vue Components

Vue DataGrid

The following features have been released and are available:

  • Advanced filtering
  • Banded columns
  • Virtual scrolling
  • Column chooser
  • Tree data mode

Learn more on this product in our recent blog post.

The native Vue Chart and Scheduler components have been postponed to v19.1 release.

Thanks.

Blog Post: ASP.NET and MVC Subscription - v18.2 and What You Can Expect in mid-November

$
0
0

Check out this list of upcoming v18.2 release features that we're working on for our ASP.NET line of controls. We've also prepared a special v18.2 CTP with online demos that you can see in your browser now.

If you are an active Universal subscriber and would like to test our most recent features prior to official release, please email our support team at support@devexpress.com or create a private support ticket in the DevExpress Support Center. Once we verify that you own an active Universal Subscription, we'll get you access to the v18.2 CTP. Feel free to test any of the following features and share your feedback with us!

WebForms and MVC

ASP.NET Spreadsheet and MVC Spreadsheet Extension

Pivot Table

Pivot Tables allow end-users to calculate, categorize and analyze data within a worksheet. Our ASP.NET and MVC Spreadsheet's pivot table displays a summary table that breaks the data into categories and calculates subtotals without entering any formulas.

    Available for CTP:

https://demos.devexpress.com/preview/ASP/ASPxSpreadsheetDemos/PivotTables.aspx

https://demos.devexpress.com/Preview/MVC/Features/PivotTables

Cross sheet formula editing

End-users can now use cell values from other sheets to create formulas for the active sheet.

ASP.NET Rich Text Edit / MVC Rich Text Edit Extension

Simple View

Our new Simple View mode displays documents while ignoring the page's layout. In this mode, the control adjusts the document so that it occupies the control's entire content area.

    Available for CTP:

https://demos.devexpress.com/preview/ASP/ASPxRichEditDemos/SimpleView.aspx

https://demos.devexpress.com/Preview/MVC/BarsAndUI/SimpleView

ASP.NET Calendar and ASP.NET DateEdit / MVC Calendar and DateEdit Extensions

Month-Year Picker

You can now specify which control view (days, months, years, centuries) an end-user can use to navigate and to select dates.

    Available for CTP:

https://demos.devexpress.com/preview/ASP/ASPxEditorsDemos/MonthYearPicker.aspx

https://demos.devexpress.com/Preview/MVC/Editors/MonthYearPicker

ASP.NET Bootstrap

FormLayout

Data Binding

Each layout item contains a DevExpress data editor that allows users to edit values of the corresponding field type. If no items are specified explicitly, the Form Layout control automatically generates layout items with suitable editors for each data field.

    Available for CTP:

https://demos.devexpress.com/Preview/Bootstrap/Layout/FormLayout.aspx

New Bootstrap File Manager control

    Available for CTP:

https://demos.devexpress.com/Preview/Bootstrap/FileManager/Default.aspx

New Bootstrap Ribbon Control

    Available for CTP:

https://demos.devexpress.com/Preview/Bootstrap/Navigation/Ribbon.aspx

Bootstrap GridView

Scrolling and Paging

Our upcoming release will include a number of highly popular scrolling/paging modes:

  • Vertical scrolling

  • Horizontal scrolling

  • Virtual paging

  • Endless paging

  • Fixed columns

      Available for CTP:

https://demos.devexpress.com/Preview/Bootstrap/GridView/ScrollingAndPaging.aspx

Bootstrap CardView

Scrolling and Paging

Like our Bootstrap GridView, our CardView will be updated to support the following scrolling/paging modes:

  • Vertical scrolling

  • Endless paging

  • Endless paging on Page Scroll

      Available for CTP:

https://demos.devexpress.com/Preview/Bootstrap/CardView/ScrollingAndPaging.aspx

Features We'll Release in November

WebForms and MVC

ASP.NET GridView / MVC GridView Extension

Callback Support in Batch Edit mode

Callbacks won't cause unsaved data loss in Batch Edit mode. End-users need not save data to execute sorting, filtering, paging, grouping and similar operations. For example, end-users can edit cells on several data pages and then update data within a single callback.

Preview Changes in Batch Edit support

Inserted, edited and deleted rows can be previewed and modified before data is saved in Batch Edit mode. The GridView displays only modified rows in Preview mode. This mode is useful when multiple modified rows exist across different data pages.

Improved Adaptivity in Fixed Table Layout Mode

MinWidth and MaxWidth properties will be added to ASP.NET GridView columns to improve column adaptivity when fixed table layout mode is enabled.

ASP.NET CardView / MVC CardView Extension

Grouping

End-users can group CardViews by one or multiple data columns.

ASP.NET Scheduler / MVC Scheduler Extension

Performance Enhancements

Based on customization settings and the current view, performance has been improved by 1.25 – 2.8 times in Edge, 1.1 – 2.6 times in Chrome.

Appointment Tooltip for Mobile

To use screen space more efficiently, an appointment tooltip will be displayed at bottom of the screen on mobile devices.

View Visible Interval Navigator Adaptivity

This will improve the View Navigator's customization and adaptivity features. Take a look at this image to see a mockup.

Floating Action Button

This button provides quick access to the most popular Scheduler user actions. The actions in the button differ based on current context (a selected appointment, a view).

ASP.NET PivotGrid and MVC PivotGrid Extension

Unbound Column for OLAP Data Source

In v18.2, we will introduce an Unbound Column for Pivot Grids connected to OLAP Data Source via code. You can create an Unbound Column, assign an MDX expression string to it, and the column will be calculated via Analysis Services.

Pivot Grid In-memory Data Processing Performance

We continue to improve the Pivot Grid's in-memory data processing. The following features are now processed by the pivot grid in Optimized Mode:

  • Custom Types
  • Custom Totals
  • UseNativeTypeForAggregates
  • CustomSummary event (not available in CTP)
  • CustomGroupInterval event (not available in CTP)
  • Legacy TopN (not available in CTP)
  • CustomUnboundFieldData event (not available in CTP)
  • Case-sensitive data binding (not available in CTP)

ASP.NET and MVC Web Chart Control

Advanced Pane Layout

Diagram Pane items now support a tabular layout mode. Every Pane will include a title element and an expand/collapse button that allows you to maximize a specific chart region. With this feature, it will be easier to build dashboard-like layouts by grouping Series into separate Panes and maximize a Series group at runtime.

Crosshair Panel Improvements

It is now possible to display Indicator data in the Crosshair Panel.

ASP.NET FileManager and ASP.NET UploadControl / MVC FileManager and UploadControl

OneDrive and Google Drive Support

You can now manage files and folders in One Drive and Google Drive via our ASP.NET and MVC FileManager. Upload Control provides direct upload to both cloud storage mediums.

ASP.NET ComboBox and ASP.NET TokenBox / MVC ComboBox and TokenBox Extensions

Server Mode data source support

Both components support LinqServerModeDataSource, EntityServerModeDataSource or XpoDataSource data sources. Server Mode will function much as it does in the DevExpress ASP.NET/MVC GridView

ASP.NET Menu and ASP.NET NavBar / MVC Menu and NavBar Extensions

Collapse to images

To help reduce control width when the browser screen is too narrow, our ASP.NET Menu and NavBar hide item text and only display item icons.

ASP.NET WebForms and MVC Adaptive Project Template

All pages within our adaptive project templates now have adaptive layout. This template provides a quick start for mobile applications development.

ASP.NET Bootstrap

New Bootsrap Spreadsheet Control

New Bootstrap Rich Text Edit Control

FormLayout

Data annotation Attributes

The following data annotation attributes will be supported:

  • BrowsableAttribute
  • RequiredAttribute
  • RegularExpressionAttribute
  • RangeAttribute
  • DisplayFormatAttribute
  • DisplayAttribute
  • DataTypeAttribute

Thanks.

Blog Post: WPF - v18.2 and What You Can Expect in mid-November

$
0
0

As we get closer to our official release, we wanted to summarize the list of products/features we expect to ship in our WPF Subscription. If you wish to learn more about a specific feature or send us feedback, please feel free to contact us at wpfteam@devexpress.com or in the comments section below.

WPF Gantt Control (CTP)

As we announced in a blog post back in July, we’ve been hard at work on a full-featured Gantt Control for WPF. In v18.2, we will release its first community preview. The CTP should include the following features:

  • A tree list region that uses our TreeList Control with all its features (sorting, filtering, presentation options, etc.).
  • A Gantt region with a time scale and associated elements (tasks, summary tasks, milestones, connectors).
  • Four types of dependencies between tasks (Finish to Start, Finish to Finish, Start to Start, Start to Finish).
  •  An API to configure work time, weekends, special dates, etc. and hide or highlight them within the Gantt region.
  • The ability to use either built-in Gantt data objects or map your custom data objects to Gantt task properties.

WPF Grid Control & Tree List

Major Data Filtering Overhaul

In this release cycle, we focused on improving filtering across our controls in v18.2. We will make changes to the filtering UI in the Grid Control and Tree List (Filter Drop-Down, Filter Editor, Filter Panel, etc.) and create Filtering UI Blocks that can be connected to almost any data-bound DevExpress WPF control (GridControl, TreeListControl, ChartControl, PivotGridControl).

Our new filtering engine will include the following capabilities:

  • Display record count next to filter values across all filter elements (updated and new)
  • Filter data by Conditional Formatting rules
  • Defining and displaying named filters for a specific filter expression

Filtering UI Blocks

Filtering UI Blocks are separate controls that can be used within your application to filter data for many DevExpress controls (GridControl, TreeListControl, ChartControl, PivotGridControl). Simply connect a filter element to a supported control and specify the fields to filter by:

<dxfui:HierarchyFilterElement Context="{Binding FilteringContext, ElementName=grid}" FieldName="Date" />

The filter element will automatically retrieve available values, formatting settings, and other information from the connected control:

Supported filter elements:

  • Boolean
  • Radio List
  • Checked List
  • Hierarchy List
  • Conditional Formatting List
  • Named Filters List
  • Range
  • Calendar

New Data Filter Editor

Our current FilterControl (used to edit filters in a number of controls) while serving its purpose, does not support customization scenarios often requested by customers. Since we will not be able to improve FilterControl without introducing breaking changes, we’ve decided to write a new Filter Editor control from scratch. The new Filter Editor control will have the following advantages over its predecessor:

A list of fields will be displayed with a search box and arranged in a hierarchy (based on nested properties or Bands defined in GridControl).

  • You will be able to select one of the values within the data source as a filter value.
  • The Filter Editor will display record count next to every filter value.
  • You will be able to define, and use named filters in the Filter Editor.
  • The Filter Editor will provide an API to customize content (field selector, available operators, value editors).

Excel Filter Dropdown Enhancements

We will rewrite the Excel Filter Dropdown in the Grid and Tree List to support the following features:

  • Display record count next to distinct values
  • Filters by Conditional Formatting rules
  • Named filters

Date Filters Enhancements

The Filter Panel and new Filter Editor will use new “Between Days” and “In Days” operators to display Date filters.

Row & Cell Hot-Track Appearance

To help improve usability, both our WPF Data Grid and Tree List will allow you to easily highlight the row or cell under the mouse pointer. Highlighted states will be present within the control API so you can display custom elements for hovered rows/cells (for instance, you can display a Delete icon for a hovered row like Microsoft Outlook).

Checked Column

Every Boolean column will be able to display a check box in its header to check or uncheck all rows.

Custom Cell Editors

As its name implies, we will introduce Custom Cell Editor support to both our WPF Grid and TreeList. With this feature, you will be able to implement keyboard navigation and support data validation regardless of the cell editor used to edit cell data.

We will also provide two additional templates for grid cells – CellDisplayTemplate and CellEditTemplate. These templates make it easier to define cell representation for Display/Edit modes separately.

WPF Tree List

Sort Performance Enhancements

Our updated Tree List will sort data up to two times faster than previous versions.

WPF Pivot Grid

Data Aware Export

Our WPF Pivot Grid will include a data aware export mode - optimized for analysis of Pivot Grid data within Microsoft Excel. The following data shaping options will be applied within the Pivot Grid and retained in the output file (XLS(X) and CSV documents):

  • Data Grouping - with the ability to collapse/expand groups within a worksheet
  • Fixed Columns – to retain column and row area visibility
  • Cell Formatting – to export the number format
  • Display Text/Value export – to specify whether to export display text or values

In addition to retaining data shaping options, this new option will export data faster than its WYSIWYG counterpart, especially when the Pivot Grid is bound to a large data source.

Data Processing Enhancements

We will update the DevExpress Pivot Grid to fully support our new in-memory data processing engine (up to 10x faster than its predecessor) across all usage scenarios including:

  • Custom Types
  • Custom Totals
  • UseNativeTypeForAggregates
  • CustomSummary event
  • CustomGroupInterval event
  • Legacy TopN
  • CustomUnboundFieldData event
  • Case-sensitive data binding

Unbound Column for OLAP Data Source

You will be able to add an Unbound Column for the Pivot Grid connected to an OLAP Data Source in code. After you assign an MDX expression string to your column, its values will be calculated on the Analysis Services side.

WPF Rich Text Editor

RTL Support

With our upcoming release, our Rich Text Edit Control will be able to correctly display, print, and export documents with RTL content: 

Restrictions will apply and we’ll describe the limitations of our RTL support once we are nearer to release.

Shapes 

Over the last few years, we have received numerous requests to support shapes. The good news: our WPF Rich Text Editor will support major shapes in our v18.2 release cycle.  

Continuous Section Breaks 

In v18.2, our WPF Rich Text Edit Control will allow you to load, view, print and export documents with continuous section breaks. You can control this option in code using our implemented API.

Line/Paragraph Options

This release will include a group of new and improved paragraph options:

Widow/Orphan Lines Control

You can now use the Widow/Orphan Control feature to prevent the first or last paragraph line from appearing at the bottom or top of a page.

Keep Lines Together and Keep with Next Options

We have improved our "Keep lines together" option so that it mirrors Microsoft Word. In addition, we’ve introduced a new Use the ParagraphProperties.KeepWithNext option so you can keep multiple paragraphs on the same page.

Paragraph Borders

In version 18.2 you will be able to load/save, display, print and export (to PDF) documents with paragraph borders.

Spreadsheet

Synchronization with Office File API features

  • Shapes API – With this release, you can programmatically create new shapes, connect and group them, change a shape’s fill and outline settings, add text to a shape, and remove shapes from a document. 
  • Sparklines - With this release, sparklines can be printed and exported to PDF. 

PDF Viewer

DirectX Rendering

We will change our PDF rendering engine from GDI/GDI+ to DirectX. This will allow us to address performance issues with semi-transparent text rendering (out of memory exceptions described in the following support ticket: T554327) and introduce the following enhancements:

  1. Improved text rendering and text antialiasing.
  2. Better graphics quality due to antialiased clipping.
  3. Support for Stroke and two Clip text rendering modes.
  4. Transparency and Blend modes.

Advantages of DirectX rendering mode are described in detail in the following blog post: PDF Viewer and Document API - DirectX Rendering.

WPF Charting

Crosshair Panel Enhancements

With this release, you will be able to display Indicator data in the Crosshair Panel.

Advanced Pane Layout

Every Diagram Pane will be able to display a title.

WPF Scheduler

Agenda View

The Agenda View is a new view with a chronological list of appointments grouped by day. Appointment labels are displayed as colored circles.

Scheduler List View

The WPF Scheduler List View is another new view and it displays appointments exactly as they are stored in the database. Appointments are listed in a grid, with full support for search, filtering, sorting, and grouping.

Appointment Arrows

Appointments that don’t fit into the visible range will display information on when they start and end.

Miscellaneous Enhancements

  • You will be able to synchronize scroll position and settings changed at runtime between DayView, WorkWeekView, and WeekView.
  • The Scheduler will listen to nested property updates in the data source.
  • Scheduler views will provide settings that help configure an appointment’s appearance.

WPF Data Editors

CheckEdit Glyph Support

You will be able to display glyphs instead of a check box in CheckEdit using the CheckedGlyph, UncheckedGlyph, IndeterminateGlyph, and GlyphTemplate properties.

SubstituteDisplayFilter Event

ComboBoxEdit and LookUpEdit will ship with a SubstituteDisplayFilter event where you can modify the filter applied after typing in the edit box. This will help you filter items based on values from multiple columns or implement custom filter logic that allows typos or replaces characters with umlauts.

DateNavigator & DateEdit Enhancements

We will introduce the following features to the DateNavigator control:

  • Min/Max dates
  • An API to specify disabled dates and highlighted dates dynamically
  • The ability to get or set the visible date range
  • A new MS Outlook-inspired style with a compact header

We will also use the DateNavigator control in DateEdit’s drop-down. This will make the drop-down more customizable and will enable features specific to DateNavigator in DateEdit (e.g., highlighted dates).

WPF Toolbars & Ribbon

Lightweight Templates

Bar Items will now use lightweight templates with fewer visual elements. This will reduce the initial load and merge time in applications with Toolbars or Ribbon.

Merging Performance

Merging Ribbon or Toolbar items can affect performance when apps contain numerous Bar Items. In addition to optimizations to Bar Item templates, we will improve Ribbon/Toolbar merging performance by reusing visual elements representing Bar Items within the Ribbon/Toolbar.

WPF Docking

"Light" Mode

Currently, the Dock Layout Manager draws two borders for panels stacked side by side. While this is standard for Visual Studio-inspired user interfaces with toolbars, applications with a Ribbon UI (Microsoft Office products) do not display duplicate borders.

Our new “Light” mode will allow you to merge borders between panels and create “lightweight” user interfaces without unnecessary visual clutter.

WPF Diagram

RightAngle Connector Splitting

When the DevExpress Diagram Control calculates routes for RightAngle connectors, it tries to find the closest route from start to finish. This can result in overlaps when multiple connectors originate from the same point. Many of you have asked us to deliver an alternative solution to help reduce confusion.

In v18.2, we will add an option that allows you to split connectors and define the minimum acceptable distance between them

Diagram Viewer

Many of you have asked us to create a Diagram Viewer and give you the ability to display a non-editable diagram – either static, generated in code, or based on a data source. You can currently configure a diagram to be read-only, but it does require that you write some code.

Once we release the Viewer, you will be able to switch to viewing mode and disable all operations that can affect the diagram itself. We will provide a set of options that will help you define allowed operations and automatically hide UI elements that are not.

Pan & Zoom Window

DevExpress Diagram will be able to display a preview of its content in a separate Pan & Zoom window (you can alter the zoom factor and navigate to a particular region)

Single, Multiple, and None Selection Modes

Currently, our WPF Diagram Control allows you to select multiple items using the selection rectangle or modifier keys (the Extended mode). In v18.2, we will introduce additional selection options:

  • None – the selection is disabled
  • Single – only one item can be selected
  • Multiple – multiple items can be selected/deselected by clicking them

Related Support Tickets: T459849.

WPF Themes

Theme Designer - Template Editing Mode

Though some find it sufficient to customize theme colors, many want to apply more significant customizations to a control’s appearance. An example of such a customization is the ability to display a red border and red text for invalid editor values instead of an error icon.

With this new feature, you will be able to locate and modify control templates within the Theme Designer, create a custom theme, and apply one or more color presets for a fully customized UI experience.

This update to our Theme Designer will provide several benefits to those who wish to edit templates:

  • An effortless way to locate the required template
  • Automatic theme upgrade whenever a new version of our product is released

Palette Theme Keys

Modern themes with color palettes (Office2016SE, VS2017) will expose their palette colors and brushes as resources that you can access in your code:

<Border BorderBrush="{DynamicResource {dxt:PaletteBrushThemeKey ResourceKey=Border}}" BorderThickness="1" />

ThemedWindow Enhancements

ThemedWindow will be able to act as a dialog and show dialog buttons defined either in XAML or in code. In addition, we will create the ThemedMessageBox class that replaces the legacy DXMessageBox and matches ThemedWindow's style.

WPF Maps

Map Editor

You will be able to edit vector items at runtime. End users can switch to Edit mode using a special toolbar panel – draw new elements, edit or delete points (vertices).

The following features will be supported:

  • Add new vector elements (Pushpin, Path, Polyline, Dot, Ellipse, Rectangle, Line)
  • Select/Edit/Transform (add, remove and move points)
  • Undo/Redo

Modified vector layer data can be persisted to a file using a supported format (Shapefile, SVG, and KML).

Blog Post: CodeRush – New Release (v18.1.11) for Visual Studio

$
0
0

Major New Features in This Release

Another 30-day sprint, another release. This update is packed with important new features for teams and individuals using CodeRush, including embedded images in source code, templates for JavaScript & TypeScript development, new performance-enhancing features, and more. Here’s what’s new in this release:

Rich Comments

This release includes a groundbreaking new feature which gives Visual Studio developers the ability to effortlessly embed images, diagrams, formulas, tables, etc., inside source code (C#, F#, JavaScript, TypeScript, Visual Basic, XAML, HTML, CSS, and XML). You can paste any image from the clipboard, or reference a local file in markdown.

embeddedJet

Embedded images can be scaled and cropped, and work seamlessly with Visual Studio. Embedded images can help:

  • Explain complex code.
  • Signpost important classes and functions.
  • Teach developers new concepts, strategies, and algorithms.
  • Communicate important issues among all team members.
  • Bring new team members up to speed.

For more details on this amazing new technology, see devexpress.com/holygrail.

JavaScript & TypeScript support

Smart Cut & Copy is now supported in JavaScript and TypeScript code. No need to select an identifier or a contiguous block of code before copying or cutting it. Just place the caret inside the identifier (or on the keyword that starts the contiguous block) and press your copy or cut keys. CodeRush will select the JavaScript/TypeScript identifier or code block for you before placing it on the clipboard.

This release also includes a pre-release set of templates for JavaScript and TypeScript development. These templates make it easy to declare classes, functions, variables, code blocks, expressions and more with the smallest effort. We expect to refine and evolve these over the coming releases.

JSTSTemplates

I expect to release a second blog post detailing these new templates later in the week, and I also expect to cover these in my live JS/TS/C# Coding & Design show here:

twitch.tv/CodeRushed

Performance Improvements

You may be able to improve CodeRush performance, making it even faster, by creating native images using NGEN.exe.

If you start Visual Studio with administrator privileges, and NGEN performance improvement options are available, you’ll see a notification near the top of the IDE that looks like this:

You can compile assemblies once for this install, do it automatically after each update, or disregard the suggestion and never see it again.

NGEN compilation is performed in a separate process so you can close Visual Studio or keep it running after you start. Compilation progress is updated in the notification area if Visual Studio is running. Once compilation is complete, future Visual Studio sessions are expected to be noticeably faster and responsive.

Important: CodeRush will only show this performance upgrade notification if Visual Studio is executed with administrator privileges.

Member Sections

CodeRush templates can place generated members in dedicated target sections grouping those members. A member section can start with a comment or be contained inside a region. You can define target sections using the Region or Comment group buttons on the Organize Members option page.

CommentRegionButtons

You can specify the text for the target comment or region…

UseMemberSections

And CodeRush templates will generate well-organized code according to your team’s rules and settings:

OrganizedCode


Code Analysis

  • You can now set options to determine how the Possible System.NullReferenceException diagnostic performs its analysis in methods, properties, parameters and fields.PossibleNullReferenceExceptionOptions
  • We have also added the “Task.Factory.StartNew usage can be dangerous” code diagnostic, warning when unsafe methods are used to start a new thread.

Other Improvements

  • Move to Region can now position methods alphabetically. To try this, on the Move to Region options page, set “Inside regions, place newly-moved members” to Alphabetically.
  • MoveToRegionOptions
    The Move to Region UI now allows you to select target regions from a tree menu (regions are shown in the same hierachical order they appear in code).

  • With new HTML context providers, you can customize your own HTML-specific CodeRush features like shortcuts, templates, selection embeddings.
    HtmlContextProviders

Download and Try CodeRush Now!

Download CodeRush from the Visual Studio Marketplace or use the DevExpress Download Manager. And if you're enjoying the quality of these CodeRush releases, please leave a review here so the whole world can see. As always, thank you for your support!

Blog Post: WinForms Tips & Tricks - What You May Have Missed (Part 4)

$
0
0

First of all, thank you very much for your support! We have had lots of comments telling us to keep these tips and tricks coming and it feels great to know the information is helpful to you!

It is getting harder all the time to find features that fit the description of being easily overlooked - after all, we also pride ourselves of having highly useful documentation and great samples! Nevertheless, here is a fourth installment of the series.

In case you missed the previous posts, here is a list:

Create and Modify Vector Skin Palettes in Code

With the introduction of vector skins, using the Skin Editor is no longer the only way to modify color schemes. You can create and modify palettes (sometimes called swatches) from code!

For instance, to create a new palette, you start with an SvgPalette object. Specify its color values, and add it to the CustomSvgPalettes collection on the skin. Here is a sample:

// obtain a vector skin
var currentSkin = Skins.CommonSkins.GetSkin(this.LookAndFeel);

// create a new palette
SvgPalette svgPalette = new SvgPalette();

// set up primary palette colors
svgPalette.Colors.Add(new SvgColor("Paint", Color.FromArgb(30, 58, 102)));
svgPalette.Colors.Add(new SvgColor("Paint High", Color.FromArgb(17, 72, 113)));
// ...

// set up icon colors
svgPalette.Colors.Add(new SvgColor("Red", Color.FromArgb(252, 109, 119)));
svgPalette.Colors.Add(new SvgColor("Green", Color.FromArgb(83, 186, 122)));
// ...

// add a new swatch for this palette
currentSkin.CustomSvgPalettes.Add(new SvgPaletteKey(0, "Glacier"), svgPalette);

// If you have a Ribbon Palette Selector gallery, you need to either
// add new swatches before the InitializeComponent method call,
// or initialize the Ribbon gallery after the swatches were added

InitializeComponent();

// apply the custom swatch
this.LookAndFeel.SetSkinStyle("The Bezier", "Glacier");

Here’s what the result looks like. Note that the custom Glacier palette is automatically available in the Ribbon Palette Gallery.

Custom Glacier Palette

Prioritize Appearances

Compound controls like the Data Grid, the Tree List or the Vertical Grid provide several Appearance settings for focused rows, odd and even rows, selected cells, and other items. Technically, these appearances form a hierarchy that defines the order in which settings are applied. By setting Options.HighPriority to true on an appearance, you move it to the top of the list.

treeList1.Columns["Employee"].AppearanceCell.Options.HighPriority = true;

Appearance Priorities

As an example, consider a situation where you have a Conditional Formatting rule in combination with an appearance configuration for the focused row. By default, the FocusedRow appearance takes precedence over the appearance associated with the conditional formatting rule.

As you can see from the image of the hierarchy above, it would be possible to apply the appearance from one of the custom draw and custom style events (RowStyle, RowCellStyle, CustomDrawCell, etc.), since these always have a higher priority than appearances. The following snippet assumes that a rule called freightRule exists and applies it in an event handler:

private void GridView1_RowCellStyle(object sender
  DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e) {
  GridView view = sender as GridView;
  var freightRule = view.FormatRules["freightRule"];
  if (view.IsRowSelected(e.RowHandle) && e.Column.FieldName == "Freight" &&
    freightRule.IsFit(e.CellValue, view.GetDataSourceRowIndex(e.RowHandle))) {
    e.Appearance.Assign(
      ((FormatConditionRuleAppearanceBase) freightRule.Rule).Appearance);
  }
}

However, once you understand about appearance priorities, you can alternatively configure the property HighPriority on the appearance associated with the rule.

High Priority Setting for an Appearance

Of course you can still set this up from code if you prefer - again, assuming the rule exists already:

var freightRule = view.FormatRules["freightRule"];
var appearance = ((FormatConditionRuleAppearanceBase) freightRule.Rule).Appearance;
appearance.Options.HighPriority = true;

In both cases, you will now see that the appearance associated with the conditional format rule overrides that of the focused row:

Conditional Formatting takes Precedence over Row Formats

HypertextLabel Formatting

A HypertextLabel used as an in-place editor enables simplified HTML formatting for data cells in data-aware controls. To supply the editor with an HTML template, you need an unbound column and the corresponding event handler (e.g. CustomUnboundColumnData for the Data Grid).

HypertextLabel Demo

Run the XtraEditors - HypertextLabel demo for a live sample of the image above (note that the link works only if you have the DevExpress Demo Center v17.1 or newer installed).

Service Row Handles in the Data Grid

Those who work with the Data Grid know that the control assigns a row handle, a simple numeric value, to each data row. The value is used to identify the rows, and you can retrieve these handles from many properties and methods on a View, like FocusedRowHandle or GetVisibleRowHandle.

It can often appear that the row handles are equal to index values into the bound datasource. However, there are also special row handle values, which is why it’s important to retrieve data rows using helpers like GetRow or GetDataRow.

The class GridControl includes six static fields that define special row handle values. These identify the following service row types:

  • AutoFilterRowHandle - the Automatic Filtering Row
  • NewItemRowHandle - the New Item Row
  • InvalidRowHandle - a handle that is returned when an attempt to retrieve a particular row fails
  • ExternalRowHandle, ExternalRowHeaderHandle, ExternalRowFooterHandle - row handles for data rows, group rows, headers and footers of Detail Views.

The special handles are useful when you need to distinguish regular data rows from service rows, or check whether a row retrieval operation was successful. As an example, the following snippet iterates through all rows visually below the currently selected row. The iteration stops when no more rows can be retrieved.

public void TraverseRowsBelow() {
  int handle = gridView1.FocusedRowHandle;
  while (handle != GridControl.InvalidRowHandle) {
    // do something with the handle or the row
    handle = gridView1.GetNextVisibleRow(handle);
  }
}

This CellValueChanging event handler tracks input values in the cells of the Auto Filter Row:

private void GridView1_CellValueChanging1(object sender,
  DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) {
  if (e.RowHandle == GridControl.AutoFilterRowHandle) {
    string val = e.Value.ToString();
    // handle the input value
  }
}

What Say You?

As before, we are always interested in any thoughts you have about these tips! Which one did you like best this time?


Blog Post: XAF - New SPA UI for Web & Mobile (v18.2)

$
0
0

In addition to WinForms and ASP.NET UI enhancements announced a couple of days ago (XAF - Access v18.2 Features Today for Early Testing and BONUS for v18.1.6), I wanted to share our updated vision for XAF Web & Mobile development – one that’s based on an entirely new SPA driven UI. When this ASP.NET Core and React-based solution matures, it will supersede/replace existing WebForms and Mobile user interfaces.

New SPA UI architecture and technologies (the 'WHAT' part)

Over the last few years, we've been hard at work adapting XAF for the mobile world. As the tech landscape evolved, so did our strategy - new server-side solutions mandated pursuit of alternate (and more progressive) client-side UI paradigms.

Today, we still build Web applications with distributed client-server architectures like those in our former Mobile UI. However, both server and client technologies and their communication protocols have evolved. The client is now a single-page application (SPA) based on Facebook's React JavaScript library and our React Wrappers for DevExtreme. The server backend uses ASP.NET Core 2.1 with the full .NET Framework 4.6.1 (for now). The npm command-line tool bundled with Node.js and Visual Studio 2017 are required to install React and other packages. Visual Studio and .NET Framework support will likely to expand to .NET Core 2.2+ and other IDEs like VS Code (assuming demand exists).

User benefits & problems this new SPA UI should ultimately address (the 'WHY' part)

Why React and not, for example, Xamarin for mobile development? It’s simple - we (and I’d argue many of our users) prefer a single, unified development system. The Web is a common denominator that covers multiple platforms well. A reliable and modern Web solution is something most want/need to deliver and if one does a good job in this regard, a mobile solution should follow automatically (at almost no cost).  Promising technologies like React Native, Electron and WebAssembly could also give us expanded opportunities in the future to address the needs of those who prefer the “native” option. Xamarin did not meet this basic requirement and would have forced us to create separate solutions for the Web and Mobile (you would need investments for both Android and iOS platforms as well).

To shape our vision, we relied on user feedback and listened to customer comments on existing XAF platforms. Here is a categorized list of SPA UI benefits many of you have asked us to deliver:

Common

  • Deliver more on the "Design Once. Run Everywhere." promise and lessen associated costs with the unified Web and improved code sharing. Potentially, there will be one code base that can even replace XAF WinForms apps with Web apps running inside Electron (Microsoft Teams and Visual Studio Code are good examples of such hybrid desktop software). 
  • Get rid of old technologies with an unclear future and lowered levels of support from Microsoft, third party vendors and the dev community (ASP.NET WebForms, WCF Data Services);
  • React to changing market needs faster, open new opportunities to deliver more features with a bigger vendor and community support for new and popular technologies;
  • Offer assurances that XAF Web and Mobile applications will stay up-to-date for at least the lifecycle of ASP.NET Core 2.x and React – two of the leading frameworks for server and client Web development.

Client/frontend

  • Faster responses to user actions and less traffic sent from the server to clients;
  • A more modern-looking UI, including Material themes supported by DevExtreme components;
  • More natural UX and intuitive screen flows, for instance, auto-save detail collection data instead of explicit master object save (example);
  • Responsive designs for different screen resolutions and devices: desktop, tablet, phone;
  • Cutting-edge technology (webpack) for optimized client application build and delivery;
  • Allow users to publish Web apps in stores via PhoneGap, Electron and other native containers. 

Server/backend

  • Stateless application design by default. In addition to lower maintenance costs, this should also help us build more cloud hosting features, such as load balancing, in high-load scenarios.
  • Optionally, support a stateful architecture to provide a better performance and richer functionality in standard usage scenarios. This is helpful for the majority of our users who rarely have more than 50 concurrent users at peak times and 5-10 users typically.
  • More deployment options. At present, any web server deployment for ASP.NET Core and full .NET Framework 4.6.1 is supported. .NET Core 2.2+ support in the future will unleash multi-platform hosting (Apache, Docker, etc.).
  • More modern and flexible infrastructure with built-in features like OAuth2 authentication powered by the ASP.NET Core framework;
  • The https://github.com/DevExpress/DevExtreme.AspNet.Data library optimized for DevExtreme controls comes with many useful features like virtual paging (most operations are executed on the server rather than on the client). 
  • Ways to reuse XAF data and logic from external non-XAF clients and services (of course, everything passes through XAF authentication and security system rules);
  • eXpress Persistent Objects (XPO) classes and non-persistent POCO are supported for data access and presentation. Entity Framework (EF) and Domain Components (DC) interfaces are not supported.
  • Avoid limitations of the former WCF Data Services/OData V3-based server. CriteriaOperator expressions, previously translated to OData queries, are now directly translated to LINQ expressions. This enables the following features: more ListView grouping options, ContainsOperator and aggregate functions in ListView filters (T549081), ListViews for non-associated collections, lookup editors filtered by arbitrary or non-associated collections with DataSourcePropertyAttribute.

Existing XAF development values we want to preserve, FAQ & More...

Despite these forthcoming changes, we will do our best to maintain XAF as the go to rapid application development toolset for .NET developers – allowing you to quickly create Office-like line-of-business apps for various platforms simultaneously. To support this long-term vision in the new SPA UI, we hope to keep and further evolve the following fundamental XAF values:

  • Automatically generate database & CRUD UI for popular RDBMS and Windows, Web and Mobile platforms, reduce associated low-level coding and other complexities;
  • Focus on business rules, share pure .NET code (C#, VB.NET and minimal JavaScript) and configuration settings across platforms and databases as much as possible;
  • Ship built-in business-specific functionality such as reporting, security, validation, and data analysis  - and give you the flexibility to customize as needed;
  • Unsupported or complex functionality not available by default can still be implemented in code by incorporating framework flexibility and customization options;
  • Comprehensive options for both developers and end-users to customize applications after deployment. For instance, modify application settings stored in a database using administrative tools or directly within an app (at runtime) using visual designers (and updated accordingly without re-deployment).

For more technical information and answers to questions we anticipate most, refer to the updated FAQ: New XAF HTML5/JavaScript SPA UI for Web & Mobile (CTP) KB article.

Our short term plans and what to test today!

Right away, existing XAF Mobile UI users are welcome to migrate to our newest server features: How to connect an existing XAF Mobile application to the new ASP.NET Core Data Service (CTP)The new SPA UI will use this server and you can help us release this portion faster by providing feedback.

We hope to publish new SPA UI demos online after our v18.2 release. In the meantime, anyone is welcome to check screenshots of our prototypes and discuss their specs in our forum with peers (see below).

No promises at this stage, but our hope is to offer this SPA UI for production use around the v19.1 timeframe (at least for simple scenarios). 

Your feedback counts!

To discuss this vision, roadmap and technical requirements more effectively with the XAF community, we have setup a private discussion forum - exclusively for Universal customers. Feel free to leave comments to this post, email us at xafteam@devexpress.com or submit tickets using the Support Center if this is of more convenience.  

By this and by providing early build access, we hope to find out whether our new features and solutions address your requirements and issues. Your testing efforts and your feedback help us deliver the best possible final implementation. We have described other benefits of this cooperation in this post.

In advance, thank you very much for your help!

Blog Post: This week it’s Basta! in Mainz, Germany

$
0
0

From September 24th till September 27th, the annual Basta Fall conference is taking place in the Reihngoldhalle in Mainz, Germany.

DevExress is proud to be a Gold Sponsor of this conference and John and I will be present as well as our training director Oliver Sturm.

Oliver will be doing a full day workshop on software architecture as well as several sessions. I will do a session about Dependency Injection in dotNET Core v2.

At our booth, we will be handing out our Eat-Sleep-Code T-Shirts, raffle tickets for our daily raffles and some other nice goodies.

If you’re attending to Basta! Conference, make sure to come by and hear what’s coming up in our v18.2 release.

Blog Post: This week the first Techorama NL conference is on in Ede, The Netherlands

$
0
0

After several very successful Techorama conferences in Belgium, the organization decided it is time to hit the Netherlands as well.

No one less as Scott Guthrie will be presenting the opening keynote on October 2nd. DevOps master Donovan Brown will bring you up to speed with everything concerning DevOps.

John and I will be present with our DevExpress booth were we will show you all about our U.I. controls and other tools. We will also raffle off some nice prices like a platform subscription of choice and a CodeRush license.

If you’re attending to Techorama NL, make sure to come by and get a T-Shirt and a raffle ticket.

I hope to see you in Ede!

Blog Post: A Step-By-Step Tutorial for Building An ASP.NET Responsive Document Management Application

$
0
0

The DevExpress "Office Applications (Mobile friendly)" demo showcases many of our ASP.NET controls: RichEdit, Spreadsheet, FileManager, and more. It's inspired by the feature-rich functionality of Office 365 online, however, our demo allows any ASP.NET developer to build similar features and host it locally.

The "Office Applications" is a big demo with lots of great features. Unfortunately, it's not a great learning tool. So we've created a smaller version of this demo that teaches you how to build the core parts, step-by-step, with detailed explanation.

Responsive Sample App

To encourage folks to download, test, fork, comment, question, etc., we've put the "DevExpress / aspnet-documentmanagement-bestpractices" sample on GitHub:

https://github.com/DevExpress/aspnet-documentmanagement-bestpractices

This sample application demonstrates 'best practices' when using the DevExpress ASP.NET File Manager, Panel, Spreadsheet, and Rich Text Editor. These controls are used to implement a responsive web application for managing office documents and media files (*.docx, *.xlsx, *.jpg, etc.).

Online Demo

Click or scan the QR code below to open the online example and experience the demo on your desktop or your mobile device.

QRCode

In the repository, you'll find a full Visual Studio ASP.NET solution and several guides:

Download this repository and run it on your machine (details below). This sample app requires DevExpress ASP.NET controls (v18.1 or higher). Download the latest installer from the DevExpress website.

Application description

The application's main screen includes three main layout elements:

  • Header with text and two navigation buttons
  • Left-side collapsible menu
  • File explorer

MainElements

The file explorer, represented by the ASPxFileManager, displays the application's file system. End-users can manage files and folders: create, delete, copy, rename, or replace them.

The left-side menu allows end-users to display files only with specific extensions or files that were modified recently. End-users can collapse/expand the menu by clicking the hamburger button. If a browser window's width is less than 960px, the menu is collapsed when the application is started; otherwise, it is expanded.

AdaptivityGif

End-users can view and edit office documents (xlsx, xls, csv, docx, doc, rtf, and txt files) by clicking the corresponding item in the file explorer. The documents are opened in view mode:

ReadingView

This mode is optimized for viewing documents, specifically for mobile devices:

  • Pages render faster than in edit mode
  • Improved readability for different devices, due to the adaptive layout
  • Easy navigation through documents on mobile devices using the browser's built-in page search

End-users can to return to the file explorer or edit the document using the navigation buttons. When an end-user clicks the pen button then the document is opened in edit mode. Office documents are then either loaded in the ASPxRichEdit or ASPxSpreadsheet controls depending on their format (docx, xlsx, etc.).

EditingView

End-users can edit and save documents in this mode. The back button returns users to the read-only view.

How to launch the project on a local machine

The following steps are required to create a database that stores files contained in the AppData/Files folder. These files in the new database are then used to display in the file explorer. Refer to the Populating the File Manager with files using a database as a file storage topic to see this feature's description.

Follow the instructions below to launch the project on your machine:

  1. Run the CreateDatabase.aspx page in your browser.
  2. Click the Create and populate Database button.
  3. Wait until the button's text is changed to Database created.
  4. Now run the Default.aspx page and experience the sample application.

What are you thoughts on this new well-documented ASP.NET sample app? Drop me a line below. Thanks!

Blog Post: XAF - Improved Image Library Integration, SVG support and other important changes (v18.2)

$
0
0

We’ve nearly completed full SVG support for WinForms 

With our upcoming release, XAF users will get access to a much larger icon set from the DevExpress Image Gallery and new SVG images for use with XAF’s WinForms UI. To replace the former PNG icon set with new SVG images in existing XAF WinForms apps, configure the following options before the XafApplication.Setup method call: DevExpress.ExpressApp.Utils.ImageLoader.Instance.UseSvgImages = True and WinApplication.UseOldTemplates = False. In the final release, WinApplication.UseLightStyle = True will also automatically enable new SVG images. To obtain the entire list of visual elements that support new vector images, read this knowledge base article.

This is an example of our MainDemo.Win with these options:


New Image Picker in the Model Editor

To browse all new and previously available images, XAF’s Model Editor ships with a new Image Picker (used for both SVG and PNG image selection):

Images from the DevExpress.ExpressApp.Images assembly are no longer used in XAF apps. We will retain this assembly for 1-2 release cycles for backward compatibility and then remove completely.

Other Important Changes

I invite you to join our private discussion forum (exclusively for Universal customers) to discuss this and other important changes in XAF v18.2. This forum also has several active discussions and polls on the new SPA UI, which you may find interesting as well.

Your feedback counts!

If you are an active DevExpress Universal subscriber and would like to test these features prior to its official release, please email our support team at support@devexpress.com or rather create a separate private ticket in the Support Center. With that, we can verify your account and provide you with a v18.2 preview installation privately.

If you are using a trial and want to use these features today, you can purchase a DevExpress Universal license online (this will give you access to early builds such as this CTP). If you own a non-Universal subscription and are ready to upgrade, email us at clientservices@devexpress.com for preferential upgrade pricing.

By providing early build access, we hope to find out whether our new features and solutions address your requirements and issues. Your testing efforts and your feedback help us deliver the best possible final implementation. We have described other benefits of this cooperation in this post.

We appreciate any thoughts you post to the comments section below, but it would also help us if you could answer two questions in this survey.

In advance, thank you very much for your help!


Blog Post: DDD East Anglia Impressions

$
0
0

Last month was a busy month with lots of travel and the opportunity to talk with a lot of developers.

On Saturday, September 22nd, there was the DDD East Anglia community conference in Cambridge, where I was invited to talk about Dependency Injection on dotNET Core.

Despite the average weather conditions, it was a good conference with a lot of people hungry for knowledge.

After my session I had the opportunity to talk with quite some attendees as well as speakers. At the end of the day there was the DDD raffle with prices donated by the sponsors of this community event.

I picked the lucky winners who walked off with our DevExpress Backpack. Below is a small impression on what DDD is all about:

20180922_09041120180922_10233345099769221_43c0558949_z45099769731_6ff7057fdb_z43286301320_7a007f5af4_z20180922_13004620180922_13005920180922_16520720180922_16434545050886172_aa203fca69_z30162128387_4a95f79ee4_z30162127557_6c4736fe56_z20180922_195051

At the end of the conference, I had to get back to the airport because on Monday, it was time for the next one.

Blog Post: Basta! Fall Impressions

$
0
0

The Monday after DDD East Anglia, I travelled up to Mainz, Germany for the Basta! Fall 2018 edition where DevExpress was Gold Sponsor.

Together with John, I put up our booth and from Tuesday till Thursday, we spoke with a lot of customers and potential new customers about DevExtreme, Winforms, WPF and I was able to get the ‘ohh and ahh’ response on a number of CodeRush demos.

Also Oliver was there and between his busy schedule concerning workshop and sessions, he helped us out at the booth as well.

My session about Dependency Injection was well attended and thanks to the feedback I got from DDD East Anglia, I made some last minute changes which turned out pretty well.

On Tuesday and Wednesday, we did raffles and gave away platform subscriptions of choice, CodeRush licenses and DevExpress Backpacks.

To get an impression what Basta! is was all about, check the gallery below:

20180927_09165520180926_120528IMG_3115IMG_3128IMG_3122IMG_3136IMG_311020180925_18343220180925_13575020180926_14001420180925_135737

And after a successful Basta!, I flew back on Thursday evening to get reloaded for another conference after the weekend!

20180924_120930


Blog Post: ASP.NET AJAX Control Toolkit v18.1.1 - Now Available

$
0
0

Since taking over the ASP.NET AJAX Control Toolkit, we at DevExpress have been committed to keeping this library stable, modern, and useful. So I'm happy to announce the availability of v18.1.1 today.

This release brings several bug fixes and an enhancement. There is also a notable community contribution that will help those of you who are using an older version and want to upgrade to the latest release. Let's take a look.

Update Your Version

Please upgrade your ASP.NET AJAX Control Toolkit version to the latest release. You can download our useful installer here:

Download

Or use Nuget:

ASP.NET AJAX Control Toolkit Nuget package

Then give us your feedback on GitHub.

Notable Community Contribution

From the DevExpress team that works on the toolkit, I'd like say thank you to developer tdjastrzebski. This dev has provided the ASP.NET AJAX Control Toolkit community with an updated AjaxControlToolkit.ScriptUserControl.

When we released the first version of the ASP.NET AJAX Control Toolkit (DevExpress edition) back in March 2015, we made several fixes and updates. One of those fixes involved removing the AjaxControlToolkit.ScriptUserControl because it was unused code and we could not validate how it worked properly. So the best decision, and correct one, was to remove it so that the release would be stable and we could provide other enhancements too.

Unfortunately, there was an issue for users who wanted upgrade their Toolkit install. Essentially, if you used the AjaxControlToolkit.ScriptUserControl then upgrading to v15.1+ meant that you would need to update your old code. There are some old ASP.NET Toolkit-based projects that still depend on this class.

Therefore, we're thankful that tdjastrzebski has developed the new version of the AjaxControlToolkit.ScriptUserControl that is compatible with the latest release of our ASP.NET AJAX Control Toolkit.

If you've been hesitant to upgrade to the latest version then please take a look at AjaxControlToolkit.ScriptUserControl and upgrade to the latest version of the ASP.NET AJAX Control Toolkit.

Features and Improvements:

Gravatar

  • Item 445 - Add support for https image url on gravatar control

Bug Fixes in v18.1.1

AjaxFileUpload

  • Item 435 - AjaxFileUpload custom localization does not work
  • Item 437 - AjaxFileUpload does not allow files without extensions
  • Item 454 - AjaxFileUpload invalid characters in file path

AutoCompleteExtender

  • Item 450 - AutoComplete: TextBox.TextChanged not firing on Safari/Chrome for MAC, IPAD

HtmlEditorExtender

  • Item 452 - ColorPicker HtmlEditorExtender some colors are wrong

PieChart

  • Item 404 - Single series in pie chart not displaying

Try DevExpress ASP.NET

We’d like to thank you for installing the DevExpress Edition of the AJAX Control Toolkit and look forward to your feedback as you begin using it.

When we took over the fabulous ASP.NET AJAX Control Toolkit, our goal was to reach those web developers who want to use great web user interface controls for their web projects and DevExpress ASP.NET provides that and much more.

Try the free DevExpress 30 day trial.

Blog Post: WinForms Sunburst Control - A Circular TreeMap (v18.2)

$
0
0

Our upcoming release will include a new WinForms component – one we are calling the Sunburst Control for WinForms. It was designed to help you represent hierarchical data in a compact and visually appealing manner. The DevExpress Sunburst Control uses a circular layout to display different levels of the hierarchy, with the innermost circle representing the top level.

As you may already know, our TreeMap Control can be used in a similar fashion. Unlike the Sunburst, the DevExpress TreeMap uses rectangles to visualize values. This allows you to quickly compare data among individual hierarchies.

TreeMap

The Sunburst Control will offer you and your users a different perspective – it uses circular segments to visualize the same data set and show how outer hierarchy levels are related to those in the interior. The angle of each segment under its parent node is proportional to its value.

Sunburst Control

If you are already know the TreeMap’s data source initialization strategy, you will quickly set up the Sunburst Control as it uses similar adapters (SunburstHierarchicalDataAdapter, SunburstFlatDataAdapter) to visualize data from hierarchical data sets and flat data tables.

var dataAdapter = new SunburstHierarchicalDataAdapter();

dataAdapter.Mappings.Add(new TreeMapHierarchicalDataMapping() {
  LabelDataMember = "Category",
  Type = typeof(ReceiptsAndExpenditures),
  ValueDataMember = "Value",
  ChildrenDataMember = "SubCategories"
});

dataAdapter.DataSource = LoadDataFromXML();
sunburstControl1.DataAdapter = dataAdapter;

sunburstControl1.CenterLabel.TextPattern = "Total: {TV}";
sunburstControl1.Colorizer = new SunburstPaletteColorizer() {
  Palette = Palette.GreenYellowPalette,
  ColorizeGroups = true
};

The following is a brief summary of key features we’ll ship in this release:

  • Built-in coloring algorithms (colorizers) and advanced segment highlighting behavior

Colorizers

  • Tooltip support

If you feel that this new component will help you visualize hierarchical data in your application or if you have any technical question, feel free to leave a comment. Your feedback will help us fine tune our WinForms Sunburst Control so that it addresses the widest possible set of usage scenarios.

Blog Post: Techorama NL Impressions

$
0
0

Last week, the first Techorama NL Edition was a fact in Ede, The Netherlands. With about 1100 attendees it was a ‘full house’ and very good first show. John and I had some busy days answering lots of questions, giving even more demos and we had our daily raffles.

Most of the attendees are or were customers and there where only a few people who haven’t heard from DevExpress. Also quite a number of XAF developers where attending and came down to our booth to say ‘hi’.

Below is an impression:

IMG_316820181002_072037IMG_313920181002_074513IMG_3161IMG_3156IMG_3146IMG_314720181003_132901IMG_3138

Blog Post: WPF Theme Designer - XAML Editing (CTP Available Now)

$
0
0

A year ago, we first released the Theme Designer tool for WPF. With the introduction of palettes that grouped individual colors into smaller sets, it was a big step towards easier theme customization. In this new release, we are taking your feedback on board to enable modifications to default styles and templates in addition to colors. This brings the full freedom of WPF customization to the Theme Designer.

XAML Editing

The XAML Editing feature radically changes the way you work with custom themes in the Theme Designer. A custom theme is now not just a set of colors but a complete solution with XAML resources for every DevExpress control. Previously, you were only able to see a set of colors defined for a specific control or element. Now, you can navigate from the preview or the color list to a resource that defines the control appearance.

Color Synchronization

Since we didn't want to abandon color palettes and our convenient UI for editing colors, we implemented synchronization between colors in the grid and the XAML markup. Now the individual colors you change or add in XAML automatically appear in the grid, and color properties can be linked to a palette directly in code.

External Editors

It is possible to locate and change templates directly in Theme Designer. However, if you would like to use your editor of choice to work with XAML, you can also open XAML files in an external application (e.g. Visual Studio). After you save the edited file, Theme Designer automatically detects and shows changes.

Navigation

Another feature that helps you understand the template structure is navigation between resources. You can click any resource reference to see where this resource is declared and used.

Upgrade and Import

Since a custom theme now stores all XAML resources, it is important to have an upgrade strategy for new DevExpress versions. We are constantly developing our controls, and changes that we make in XAML resources may conflict with your customized copies.

We spent a great deal of time to create a smooth upgrade process. Theme Designer now analyzes the original theme, your customized copy, and the new theme in the version to which you are upgrading. It applies the same formatting to all three versions, ignores differences in colors, and performs other adjustments to minimize conflicts. In those rare cases where conflicts can't be resolved automatically, Theme Designer displays a dialog that lists those files that require your attention.

In addition to upgrades between versions, Theme Designer can now import themes you developed in Theme Editor, without leaving any customizations behind.

Try Theme Designer Now

The new XAML Editing functionality is currently in a CTP phase, we expect to push it to the main Theme Designer installer somewhere around the official v18.2 release.

Our team is fine-tuning certain parts to improve usability and make sure all themes are upgraded/imported without issues. Therefore, your feedback is crucial. We’ve prepared a separate build where you can try out the new features:

Theme Designer CTP Download

Documentation

Are you able to import your current themes to Theme Designer? How easy it is for you to locate and edit templates? Please tell us in the comments below or contact us at wpfteam@devexpress.com.

Blog Post: DevExtreme React Grid - Fixed Columns and Customization Enhancements (v1.8.0)

$
0
0

Version 1.8.0 of the DevExtreme Reactive controls is now available! Here is an overview of the new features for the React Grid:

Fixed Columns

The biggest new feature in the React Grid is Fixed Columns. As you would expect, this feature enables you to set up columns so that they “stick” to the left and right edges of the grid, staying in place when the horizontal scrolling position changes. Fixed Columns work smoothly in conjunction with other functionality (for instance Banded Columns or Virtual Scrolling) and it is easy to set up using the TableFixedColumns plugin:

<Grid>
  ...<TableFixedColumns
    leftColumns={[TableSelection.COLUMN_TYPE, 'region']}
    rightColumns={['amount']}
  /></Grid>

Fixed Columns

Documentation and samples are available here.

New visual customization components

Two new component customization properties have been added to the TableHeaderRow plugin. The sortLabelComponent renders the sort label,

Custom Sort Label

A demo is available here (Custom Sort Label).

The property groupButtonComponent allows you to supply a custom component for the group button that shows next the column header if you set showGroupingControls.

For the TableFilterRow, the new customization property toggleButtonComponent has been introduced. This component renders the button next to a filter entry field, where the end user can select a filter type from a menu.

Custom Filter Type Menu Button

Your feedback is valuable!

As always, we appreciate any comments left on this post or sent to us via the Support Center or the GitHub Repository. To provide quick feedback, please submit your replies to this small survey:

Viewing all 3388 articles
Browse latest View live