Don Wibier's Blog
  • Upcoming webinar: Give AdHoc Query Powers to Your ASP.NET Grid Users

    March 8th at 10:00 am (PST), Mehul and I will present a really cool webinar on one of our new WebForms controls, the ASPxQueryBuilder. Though this control is in beta with v15.2, it offers a really nice way to your end users to visually create all kinds of difficult sql-based queries on the datastore(s) made available to them.


    We will start by showing how the control works from an end-user perspective, and next, we will show what it takes to implement this control in your application.

    Finally we will show you a couple of things like restricting the amount of entities shown in the query builder.

    Make sure to register here

  • Gearing up for BASTA!Spring 2016

    From February 29th till March 4th, the annual BASTA!Spring conference is happening in Darmstadt Germany and DevExpress is proud to be gold sponsor. John, Oliver and I will be present at our booth where we will be more than happy to give you some cool demos on our v15.2 release.

    Oliver will do a number of sessions which you can check out here. I will do a session on the Managed Extensibility Framework which can be found here.


    At our booth, we’ll be doing daily raffles where we will hand out a number of prizes from soccer balls to platform subscriptions of choice, so make sure to collect your raffle ticket together with some nice goodies.

    We hope to see you there!

  • NDC London 2016 is just around the corner

    I've had a very good start to 2016. On January 1st, Microsoft contacted me to inform me that I had been given the Most Valuable Professional award (MVP). In addition to that, I am happy to be attending NDC London this week, which is happening at the ExCel Centre from January 11th till 15th.

    There is a great speaker line-up with dozens of interesting sessions. Make sure to check out my session which is my first one as a Microsoft MVP!

    DevExpress is proud to be a sponsor of this event, and John and I will be available at the DevExpress booth to show you demos of the new features of our v15.2 release.

    If you didn’t have time to watch our “What’s New” webinars, we’ll be more than happy to show you things like our new DevExtreme Cordova project template with NPM, Bower and Grunt support, our awesome DevExtreme Form Widget, new adaptive features on several of our WebForms controls and MVC extensions and much more!

    If you’re up for a good Cappuccino, Espresso, Café Latte or other caffeinated drink, make sure to stop by our booth because we have a Café Barista on our booth with some real professional café artists.


    While waiting for your coffee to be prepared, you can enter our daily raffle and pick-up a new DevExpress T-Shirts or maybe some other goodies.

    Not interested in drinks, T-Shirts, prices? Just stop by to say “Hi”, and maybe tell us what you do (or want to do) with our products.

    I hope to see you this week at NDC London 2016!

  • ASP.NET Ribbon Control - One Line Mode and Context Tabs (Coming soon in v15.2)

    Those of you familiar with the Ribbon Control, originally created for the Microsoft Office® applications, might have come to the conclusion that this UI element is actually a pretty complex control with one simple design aspect in mind: “Show a lot of logical grouped actions without using a lot of real estate on screen”.

    The DevExpress ASP.NET Ribbon Control already incorporates a lot of really nice features like Tabs and Galleries.

    In the upcoming v15.2 release we have added two new features!

    One Line Mode

    This allows the Ribbon Control to save even more screen space by putting all actions on one line in the Ribbon. This also comes in quite handy in responsive web-pages, and still gives you access to the full action set in the control.

    Context Tabs

    This is a feature which allows you (the developer) to show Tabs with certain actions that are only applicable for the current feature the user is using. An excellent example of this is within the RichEditor: when the user moves the cursor inside a table, two new tabs with an accented background color are shown containing table-specific actions.

    Register for v15.2 webinar

    To see all the new features coming out for the v15.2 release, sign up for the "v15.2: What's New for ASP.NET Developers":

    Click here to register

  • ASP.NET Rich Text Editor - Tables, Mail Merge and More (Coming soon in v15.2)

    To make sure that you’re developing with the best feature rich controls in the market, we have added some popular (and most requested) features in the v15.2 release of the RichText Editor.


    In this release we are happy to provide table support in the RichText Editor. For this, we have added some Office style features to create and modify tables inside your document.

    Also styling tables and individual cells is done the Office way. We have added 2 “Contextual Ribbon Tabs” which will be shown when putting the cursor inside a table. These ribbons give you quick access to merging/splitting cells, deleting/adding rows and columns, and specifying other cell/table properties.

    Mail Merge

    In the current v15.1 release of the RichText Editor, we provided mail merging capabilities. In the v15.2 release we have taken it a step further by allowing you to visually select and insert auto-updated fields from a bound datasource. You also have the possibility to switch between the live merged data and the field-codes by clicking the button in the ribbon:

    Headers and Footers

    Yes! We have support for headers and footers inside your documents! This includes insertion of different headers and footers on even and odd pages. A contextual tab in the Ribbon Control will be shown, enabling you to insert specific items like page numbers and counts in the header and footer.



    To navigate quickly back and forward through your document, you can now put bookmarks inside the document. These bookmarks can also be bound to hyperlinks.

    Register for v15.2 webinar

    To see all the new features coming out for the v15.2 release, sign up for the "v15.2: What's New for ASP.NET Developers":

    Click here to register

  • ASP.NET Reporting - Sub-reports, Report Explorer and more (Coming soon in v15.2)

    In the v15.2 release of our ASP.NET Reporting controls, we have implemented a couple of really exciting must-have features!


    One of the things we’ve built is support for sub-reports. This allows you to embed (several) existing pre-made reports into a new report.

    We have created a new control for this functionality which is the XRSubreport. You can drag it onto the design-surface in the Report Designer, double click it and start creating the new sub-report just the same way as designing the parent report.

    Subreports - Add a Subreport

    When working with sub-reports, you will see a number of tabs below the report designer which allow you to switch between the various reports.

    Subreport - Tabs

    Once you’re finished creating a new sub-report, you will need to save the sub-report as separate definition on the web-server. For this we have added a Save (As) dialog:

    Subreport - Save Dialog

    Alternatively, you can also specify the Report Source URL in the object inspector of XRSubreport control if you want to use an existing report.

    Subreport - Report Source Url

    For the sub-reports features to work, we needed to change a couple of things in the reports storage mechanism. This requires you (the developer) to implement a report storage class so the reporting engine and designer are able to locate available sub-reports on the server for processing. This class is also used for saving new or modified report definitions on the server.

    This reports storage class was already available on the WinForms counterpart where it is an optional feature. With the v15.2 release of the ASP.NET reporting suite, it has become something mandatory to implement. We will obviously provide you with a number of examples so you can use this new feature without problems!

    Report Explorer

    To improve the design experience as well as the productivity when designing reports, we have included a new feature; The Report Explorer.

    Report Explorer - Control Properties

    The Report Explorer allows you to quickly navigate through different parts of your report, such as bands, styles and formatting rules. When selecting one of the nodes in the explorer, you will be able to delete it or modify it’s properties by clicking the appropriate button in the explorer.

    The Report Explorer also gives you a quick and convenient way on creating new styles and formatting rules by selecting the styles node and next click the ‘+’ button.

    Report Explorer - Add a Style

    By dragging a style of formatting rule from the explorer onto a control, this style or rule will be applied.

    Report Explorer - Apply a Style

    RichText support

    We have redone the XRRichText control to fully support embedding RichText content (or database fields containing this) in your reports. It allows you to put either static, data-bound or content loaded from a file into your reports.


    The XRRichText control also provides WYSIWYG rendering of RTF, HTML or plain text content in the Report Designer.

    Register for v15.2 webinar

    To see all the new features coming out for the v15.2 release, sign up for the "v15.2: What's New for ASP.NET Developers":

    Click here to register

    Let me know what you think of this upcoming reporting sweetness!

  • DEVIntersection is coming to Amsterdam!

    DEVintersection Europe, a cool new developer event is coming to Amsterdam from October 14th till October 16th with an awesome speaker line-up!


    The sessions are all about the latest technologies and tools, and I can assure you that you will leave the event fully reloaded with inspiration and ideas.

    DevExpress is proud to be gold sponsor of this event, and John and I will be manning our booth where we will be giving away goodies, holding daily raffles, and showing you some cool demos of our products.

    We are very grateful to our DevExpress customers in Europe for continuing to support us. As a demonstration of our gratitude, we have secured a substantial discount from the event organizers, so if you haven't bought your ticket for DEVIntersection yet, make sure to contact John Martin. He can give you details on how to get your ticket for a reduced price.

    When you’re there, make sure to stop by our booth to say “Hi” and get a raffle ticket.

    See you in Amsterdam!

  • We will be at DDD East Anglia Cambridge…and you?

    This Saturday, September 26th, is the third edition of DDD East Anglia, which takes place in Cambridge, UK. DevExpress will be there manning a booth with a selection of the latest in cotton apparel for the discerning conference goer, some cool demos of our components and, of course, free hugs from Rachel.

    Yes! Rachel and I will both be visiting! Not only that, but I will also present a session on Responsive Web Design for Developers, where I will show you what this responsive business is all about and how to get started with it.

    We are a proud sponsor of this event, and during the DevExpress-sponsored coffee breaks at 11.35am and 3pm grab a cup and check the raffle ticket on it to see if you have won a prize. Yes, that’s right, the DevExpress DDD East Anglia Bottle Tombola is back!

    We’ve got a selection of brews, condiments and tipples from around the Eastern region and they could be yours if your number comes up!

    Picture taken by Craig Murphy, Sept 2014.

    If you are attending, come visit us.

    See you in Cambridge!

  • dotNed usergroup meeting

    On the 27th of August, DevExpress hosted a dotNed user group meeting in Rotterdam, The Netherlands. I found a very nice location in the harbor of Rotterdam.


    It is wood craftsmen shop / historical shipyard and museum where they are reconstructing one of the historical naval ships of the time of Pirates Of The Caribbean.


    For all attendees, we had some sandwiches and drinks…


    and after a short introduction of Dennis Vroegop, I did a session on how to consume Azure Mobile Services with a DevExtreme JavaScript App.


    After the session, everybody got a UI Superhero shirt from John, and there was time to talk with us and other developers as well.


    Are you involved in the developer community or organizing events in your area ? Let me know!

  • Creating an Office 365 Clone with DevExpress ASP.NET

    Recently Mehul and I did a webinar about one of our newest demo applications called “DevExpress Documents”.

    We talked about the functionality, its architecture and how modular and reusable this demo is constructed.

    Why build an Office 365 Clone?

    A lot of companies like the Office 365 approach. All documents are stored in one central place and there is no need for specific workstation configuration and deployment. In fact if you want to have a BYOD (Bring Your Own Device) policy, this is the perfect way to go!

    Since not all companies are using Office 365, it must come with a caveat.

    All documents created and stored on Office 365 are stored in a third-party cloud. This means that you don’t know for sure who has access to them, which is against the security policies of many companies.

    With this demo and the webinar, we would like to show you that we have all the building blocks for creating your own document management system which can be easily hosted in-premises, or a local service provider, but with the same ease of use as Office 365.

    How to build an Office 365 Clone?

    From a UI perspective, besides the login page, this application contains only 3 pages:


    This is the homepage of the application, and serves the File navigation functionality. The main controls used in this page are: ASPxPanel, ASPxMenu, ASPxCallbackPanel and ASPxFileManager.

    This page shows how we’re using the responsive and adaptive settings of the ASPxPanel to do some easy positioning like keeping the header always on top in the browser window. We also use the AdaptivitySettings of the filter panel to collapse when the browser window gets smaller than a certain width.

    Another cool thing in this demo is the fact that we are switching FileSystemProviders of the ASPxFileManager through a callback depending on the selected filter.


    This page serves as editor and viewer of RichText documents like *.doc, *.docx, *.rtf and others. It provides a nice example on how to use an external ASPxRibbon control together with the ASPxRichEdit.


    This page serves as an editor and viewer of Spreadsheet documents like *.xls, *.xlsx and others. It contains an ASPxRibbon and an ASPxSpreadsheet control. Like the RichTextEdit.aspx page, it shows how to use an external ASPxRibbon together with an ASPxSpreadsheet control.

    The Service Oriented Architecture of DevExpress Documents

    If you check out the code behind of the Default.aspx, you will notice that there is not a lot of code in it, except for some initialization. This is because we have chosen a Service Oriented Architecture for this application.

    If you check Wikipedia’s definition of the Service Oriented Architecture, you will find:

    “A service-oriented architecture (SOA) is an architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network.”

    In the Documents application the services will not communicate over a network, but the first part of the definition certainly applies.

    We have defined a number of services which communicate with each other without knowing from each other what is happening under the hood.

    An example of this is the DocumentService which handles all document related tasks like locking, editing, creating etc. This service needs data access to fulfill its tasks and therefore, it will communicate with the DataService . The DocumentService is completely unaware of the fact  that the DataService is using Entity Framework to access the database.

    An advantage of this architecture is that your application is pretty well structured even when it grows in time.

    Another plus of this approach is that if you would like to use another ORM like our own XPress Persistent Objects (XPO), you could create another DataService which facilitates XPO and replace the E.F. DataService with this one.

    The Services in the DevExpress Documents application

    The services are located in the ~/App_Code folder, and it is definitely worth checking them out. We have defined the following services for the application:

    Data service

    The Data Service which manage all interaction with the database used for the application.

    Document service

    The Document Service which will manage the document locking, and keeps track of opened files etc.

    File System service

    The File System Service will process all file related operations like Opening, Editing, Uploading, Directory creation and modification etc.

    Image service

    The Image Service will process anything related with image related functionality like the users avatars and thumbnail processing.

    User service

    The User Service will provide and  manage all user related functionality like validation and activity tracking

    These services are all managed by an application object which is the DXApplication instance. One of the reasons for this approach is that it is very structured, but we also need to manage some global (shared) data like locked files etc.
    The DXApplication object is an excellent place to store that kind of information.

    A final note on the demo app

    You can find the source of this demo in the %PUBLIC%\Documents\DevExpress Demos 15.1\Components\ASP.NET\CS\Documents folder where I’d like to mention that this project is a Web-Site project. My guess is that most of you will use Web Application projects, so if you want to use portions of code in your Web Application Project, you will need to change a couple of things before it will work.

    If you’re interested in converting this Web-Site project into a Web Application project, let me know. I will put up another blog post with detailed instructions later on how to do that.

    Also let me know if you have created your own Office 365 Clone or incorporated this functionality in your own project!

1 2 3 4 5
7 8 9

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at or call us at +1 (818) 844-3383


DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, Delphi, HTML5 or iOS & Android development. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2018 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners