Blogs

DevExpress Data Blog

This blog features all things having to do with data shaping, layout, and presentation!
  • DevExpress XAF Training in Germany

         
    Häckers Kurhotel

    One of the true unsung treasures DevExpress has developed is called XAF – Express Application Framework. I only recently became aware of the sheer power this framework while experimenting in a File->New Project type scenario. I was able to get  a full web and windows application done in a few minutes by appealing to its architectural strengths as well as its design-time flexibility. As soon as I got something to work, however, I realized that I had barely grazed the tip of the iceberg. The module based approach in XAF allows for an unlimited combination of added functionality.

    As I started diving into the extensive1 documentation2 I realized that some hands on help would be in order. I started working with some of the developers of the system and saw my understanding increase exponentially.

    One of those experts is, of course, Oliver Sturm! He is putting on a full 5 day class on XAF in Bad Ems, Germany. It is a beautiful little town about an hour outside of Frankfurt. I was there earlier this year and was impressed at what a lovely place it was! The class runs from November 19-23. More details can be found here.

    I am seriously jealous! I am hoping I can attend simply because I want to learn more about this tremendous framework.

    Expert DevExpress XAF
    November 19-23 (5 days)
    Häckers Kurhotel, Bad Ems, Germany
    To sign up for this class, please send an email with your details. Their representative John Martin will get back to you as soon as possible!

    As always, if there are any comments and/or questions, feel free to get a hold of me!

    Seth Juarez
    Email: sethj@devexpress.com
    Twitter: @SethJuarez

    Want The Best Reporting Tool Ever?

    Get The No-Compromise Reporting Tool for WinForms, ASP.NET, Silverlight and WPF! - Native integration with DevExpress WinForms and ASP.NET Controls, unequalled design-time productivity, industrial-grade features. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

    Let us know what you think of our Reporting Suite by rating it in the VS Gallery!

    Follow SethJuarez on Twitter

  • Improved Parameter Support for Reports

         

    There were a number of gems recently added to our already fabulous reporting suite. One of the interesting ones was improved parameter support. Previously one could only create and expose parameters over integral types. A great example is filtering a report by a CategoryId. Before you would only be able to create a parameter of type int and have users type in numbers rather than category names. With our improved parameters dialog there are now additional options to choose from:

    New Report Parameter Dialog

    Once you check the “Supports the collection of standard values” checkbox you now have the ability to create a set of values that the parameter can take. These can be created either by a collection of static values or binding to a set of dynamic values.

    Static Values

    This option simply lets you define the set of available options manually.

    Static Values in Report Parameter Dialog

    The interface allows for the entry of the actual value passed as the parameter along with a description of what will be displayed.

    Dynamic Values

    Using dynamic values allows for binding to a set of key/value pairs to be displayed.

    Dynamic Values in Report Parameter Dialog

    In this case we need to set the source of the data, how the data is retrieved, as well as the value and display members. At runtime both methodologies yield the following result:

    Report Parameter Values in Report Preview

    Now your users can choose from an intelligible list of options that are better suited to your user while dealing with the pieces of data (like an id number) your system likes in the background.

    Wait, there’s more

    The next question I will invariably get is this:

    “But Seth, our reports are not bound to datasets with table adapters! Can I still have dynamic parameters?”

    Of course! In this particular case the best course of action is to use a Static Values list. When doing the intial setup you can place any value to start. We can then take advantage of the ParametersRequestBeforeShow event to populate the static value list as we see fit:

    private void ProductReport_ParametersRequestBeforeShow(object sender, ParametersRequestEventArgs e)
    {
        if (CategoryId.LookUpSettings is StaticListLookUpSettings)
        {
            var lookup = (StaticListLookUpSettings)CategoryId.LookUpSettings;
            lookup.LookUpValues.Clear();
            lookup.LookUpValues.Add(
                new LookUpValue { Value = 1, Description = "AAA" }
            );
    
            lookup.LookUpValues.Add(
                new LookUpValue { Value = 2, Description = "BBB" }
            );
    
            lookup.LookUpValues.Add(
                new LookUpValue { Value = 3, Description = "CCC" }
            );
        }
    }

    This code is deliberately simple to show the possibilities. Here I am simply hand coding the available parameter options directly into the method. One could imagine a scenario where we make a service/database/foo call to retrieve the key/value pairs to subsequently populate the list. Running the previous code will result in the following:

    Report Parameter Custom Values in Report Preview

    This new addition to our reporting suite will definitely simplify our ability to help our end users consume dynamic reports.

    As always, if there are any comments and/or questions, feel free to get a hold of me!

    Seth Juarez
    Email: sethj@devexpress.com
    Twitter: @SethJuarez

    Want The Best Reporting Tool Ever?

    Get The No-Compromise Reporting Tool for WinForms, ASP.NET, Silverlight and WPF! - Native integration with DevExpress WinForms and ASP.NET Controls, unequalled design-time productivity, industrial-grade features. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

    Let us know what you think of our Reporting Suite by rating it in the VS Gallery!

    Follow SethJuarez on Twitter

  • Custom Report Templates – Using In-House Templates

         

    In our previous write-up we chatted about report templates in general as well as how to create them. I wanted to spend a few minutes (as promised) to show you how to use your own templates within your applications as a means to assist end users to get up and running with internal reporting. Oftentimes companies have the same stylistic and structural elements across their large set of reports. In other words, when someone tells me they have hundreds of reports they really have a smaller set of “base” reports that contain a certain aesthetic and structure to them. Whenever your end users want to create a new Product report, for example, what they really mean is that they want to create a variation on an existing product report. When end users are confronted with a blank report they will often use the developers as a safety valve to help them get started. Instead of constantly facing that endless time sink-hole, why not present them with a dialog that has your basic reports and let the users chose from that set.

    templates

    How hard is this to do then? It is truly quite simple and can be accomplished in two simple steps:

    1. Create a report template extension by inheriting from the ReportTemplateExtension class
    2. Register the extension

    Once these two steps are complete, your custom end user report designer will show the “Load Report Template” link that…

    load

    The Code

    The first step mentioned was creating a descendant of the ReportTemplateExtension abstract class. This is implemented by overriding the GetTemplates( ) function. You are truly free to retrieve the templates from whatever storage medium you see fit. In this instance I simply have all of the templates tucked away into a Templates folder.

    public class CustomTemplate : ReportTemplateExtension
    {
        public override IEnumerable<Template> GetTemplates()
        {
            var archive = new TemplateArchiveManager();
            string path = Path.Combine(Application.StartupPath, "Templates");
            var files = Directory.GetFiles(path);
    
            var templates = new List<Template>(files.Length);
    
            foreach (string file in files)
                using (Stream stream = new MemoryStream(File.ReadAllBytes(file)))
                    templates.Add(archive.GetTemplatesFromArchive(stream));
    
            return templates;
        }
    }

    The second step was to register the extension with the reporting system. This is easily done with the following line of code:

    ReportTemplateExtension.RegisterExtensionGlobal(new CustomTemplate());

    This should be done when the application first starts.

    That should do it! In two simple steps we can now enable our end users to quickly and easily get started with reports with custom templates. I would love to see how this feature is used!

    As always, if there are any comments and/or questions, feel free to get a hold of me!

    Seth Juarez
    Email: sethj@devexpress.com
    Twitter: @SethJuarez

    Want The Best Reporting Tool Ever?

    Get The No-Compromise Reporting Tool for WinForms, ASP.NET, Silverlight and WPF! - Native integration with DevExpress WinForms and ASP.NET Controls, unequalled design-time productivity, industrial-grade features. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

    Let us know what you think of our Reporting Suite by rating it in the VS Gallery!

    Follow SethJuarez on Twitter

  • Exciting New 12.1 Reporting Features – Custom Report Templates

         

    Report Smart TagIn 11.2 we quietly released a fantastic feature which enabled report users to quickly and easily load predefined report templates. These templates are an initial stepping stone into full fledged reporting as they powerfully demonstrate how one could develop any style of report. This feature can be easily activated by creating a new report and accessing the report smart-tag. In the smart tag you will notice a couple of interesting new options. These options are “Load Report Template” and “Edit Bindings".” The first option will, by default, load a set of predefined templates that we’ve created at DevExpress to show you some of the capabilities of our fantastic reporting suite. Because these templates were created with different data shapes, the Edit Bindings command allows you to edit these in a simple and easy to use interface.

     

    Below is what one would see if they were to use our reporting templates:

    DevExpress Report Templates

    The “Edit Bindings” feature (new in 12.1) is an easy way to re-map each of the bindings defined in the template:

    Report Template Binding Editor

    The question now becomes “how do I make my own templates?” 12.1 also saw the release of a brand new template-extractor-like tool called the Report Template Editor:

    Windows Start and Report Template Editor

    This tool will extract any and all report styles from existing report objects (within assemblies) as well as persisted report layouts:

    Report Template Editor

    This tool additionally comes with the ability to edit the template in preparation for packaging.

    In the next installment of our foray into the report template features available in 12.1, I will discuss how you can enable the use of your custom templates as a means of getting your end users up and running with an appropriately styled report within the End User Report Designer. I think it is absolutely fantastic stuff!

    As always, if there are any comments and/or questions, feel free to get a hold of me!

    Seth Juarez
    Email: sethj@devexpress.com
    Twitter: @SethJuarez

    Want The Best Reporting Tool Ever?

    Get The No-Compromise Reporting Tool for WinForms, ASP.NET, Silverlight and WPF! - Native integration with DevExpress WinForms and ASP.NET Controls, unequalled design-time productivity, industrial-grade features. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

    Let us know what you think of our Reporting Suite by rating it in the VS Gallery!

    Follow SethJuarez on Twitter

  • CodeMash / Michigan Tour Recap

         

    Mehul and I had a great time at this year's Codemash conference held in Sandusky, Ohio Jan.11-13! We want to thank  the organizers for another amazing conference, as usual they were fantastic hosts.  We had a blast at our booth giving away lots of swag like t-shirts and bags and also gave away  copies of Visual Studio Ultimate to two very lucky attendees.  It was awesome. 

    And, if you know me, you know I love to talk and spread the word about DevExpress so the Codemash folks kindly  let me present a mini session about making stylish Metro inspired applications today. Here is a good screenshot:

    DevExpress CRM Metro Inspired Demo

    I love data analysis and therefore am enjoying our push to liven your data very much. I also had the privilege of reminding folks about our free WPF map offer! I showed off how easy it is to add that elusive extra dimension to your data.

    In addition to CodeMash, Dave Giard invited me to talk at several Michigan user groups.  So I left Ohio behind and forged  my way around the southern part of the state from the Greater Lansing .NET UG to Kalamazoo's Microsoft Developers of Southwest Michigan UG, Southfield's  Great Lakes Area .NET UG and finally the Ann Arbor .NET Developer's Group. I had a chance to meet a lot of cool developers and customers doing great things. Thanks for having me everyone, it was a pleasure!

    I had the privilege of talking about a wide range of topics in C#, AI, and Machine Learning to name a few. Michigan is a wonderful state and I hope I have the privilege of being welcomed again.

    Looking forward to next year's CodeMash which is already scheduled for Jan.9-11, 2013.

    As always, if there are any comments and/or questions, feel free to get a hold of me!

    Seth Juarez
    Email: sethj@devexpress.com
    Twitter: @SethJuarez

    Want The Best Reporting Tool Ever?

    Get The No-Compromise Reporting Tool for WinForms, ASP.NET, Silverlight and WPF! - Native integration with DevExpress WinForms and ASP.NET Controls, unequalled design-time productivity, industrial-grade features. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

    Let us know what you think of our Reporting Suite by rating it in the VS Gallery!

    Follow SethJuarez on Twitter

  • BASTA Spring and DevExpress Day in Germany!

         

    bastaToday I will be leaving for Germany to attend BASTA spring as well as have a special DX day. Let me tell you about each event:

    BASTA

    I am excited to have the opportunity to give two talks at BASTA. I have been working very hard to re-vamp my machine learning talks in order to reach a wider audience. I have also been busy at work making the demos a whole lot better. Given our recent push in assisting developers build stunning applications, I took the challenge to heart and have made some improvements to the visualizations for my presentation. Take a look:

    Unsupervised-KMeans

    This is a demonstration of the unsupervised learning algorithm called KMeans. This (and many other stunning screens) will be used in conjunction with my 2 BASTA presentations on Machine Learning. One has to do with predicting the future while the other will assist attendees to better understand the past. Both sessions will be on Tuesday February 28th at 4:15PM CET and 5:45PM CET respectively. I will also be on hand during three “Ask the Expert’s” slots on Tuesday (1:00-2:30PM), Wednesday (1:00-2:30PM), and Thursday (12:30-2:00PM). If you are in the area I would love to chat!

    DevExpress Day

    Before BASTA even begins, Oliver Sturm has set up a DX Day Saturday, February 25th 2012 at the Häckers Kurhotel in Bad Ems, Germany. He has graciously invited me to speak on the new Metro inspired features we have created in conjunction with our DXv2 release as well as a good overview of our reporting toolset. You can see more details on his site. It would be great to chat all things DX. The event is free to all who are interested!

    I Would Love to Meet

    If you happen to be in the area and would like to meet (during or after conference hours) let me know! As always, if there are any comments and/or questions, feel free to get a hold of me!

    Seth Juarez
    Email: sethj@devexpress.com
    Twitter: @SethJuarez

    Want The Best Reporting Tool Ever?

    Get The No-Compromise Reporting Tool for WinForms, ASP.NET, Silverlight and WPF! - Native integration with DevExpress WinForms and ASP.NET Controls, unequalled design-time productivity, industrial-grade features. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

    Let us know what you think of our Reporting Suite by rating it in the VS Gallery!

    Follow SethJuarez on Twitter

  • Coming to CodeMash–Staying in Michigan

         

    logo-codemashAnother exciting CodeMash conference is upon us! Mehul Harry and I will be in attendance to answer any questions and spread the good word about DevExpress. We will not come empty handed! We are bringing two copies of Visual Studio Ultimate (Retail > $10,000) with us to give away. You might also coerce us to give away a couple of CodeRush licenses etc. I will also be presenting a mini session about making stylish Metro inspired applications today.

    In addition to CodeMash, Dave Giard was kind enough to invite me to present at several User Groups across Michigan. Here is more information:

    1. Monday the 16th at 6:00 PM - Greater Lansing .NET User Group
      Location
      Techsmith
      2365 Woodlake Drive
      Okemos, MI 48864
    2. Tuesday the 17th at 6:00PM - Microsoft Developers of Southwest Michigan
      Location
      4601 Campus Drive
      Kalamazoo, MI 49008
    3. Wednesday the 18th at 6:00PM - Great Lakes Area .NET User Group / Ann Arbor .NET Developers Group
      Location
      The Epitec Group
      24800 Denso Drive, Suite 150
      Southfield, MI 48033

    I will be speaking a bit about the functional underpinnings of C# as well as some cool Machine Learning topics. As some of you know I love to go off the cuff so let me know if you would like me to talk about anything else.

    I would love to meet you! If you or your company would like to arrange a visit feel free to email me so we can set something up!

    As always, if there are any comments and/or questions, feel free to get a hold of me!

    Seth Juarez
    Email: sethj@devexpress.com
    Twitter: @SethJuarez

    Want The Best Reporting Tool Ever?

    Get The No-Compromise Reporting Tool for WinForms, ASP.NET, Silverlight and WPF! - Native integration with DevExpress WinForms and ASP.NET Controls, unequalled design-time productivity, industrial-grade features. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

    Let us know what you think of our Reporting Suite by rating it in the VS Gallery!

    Follow SethJuarez on Twitter

  • Building Business Applications with Visual Studio LightSwitch 2011– A Webinar with Alessandro Del Sole (Oct. 4th 10:00AM PST)

         

    I am tremendously excited to welcome Alessandro Del Sole as one of our newest webinar presenters! He is a Microsoft MVP in Visual Basic Development, Author, and all around LightSwitch genius! He will be guiding us through the process of developing real applications using Microsoft’s new addition to the Visual Studio family: LightSwitch.

    His description says it all:

    Visual Studio LightSwitch is the new development tool from Microsoft for rapidly building business applications for the Desktop, the Web, and the Cloud. LightSwitch is for developers of all skill levels, offering lots of coding-optional features, providing a variety of pre-built templates and tools so that the only code you write is for optimizing your business logic. This avoids the need of writing all the code for data access and the user interface, saving you an incredible amount of time. LightSwitch makes it simple to interact with multiple, existing data sources and deploying applications to clients. In this session you will get started with Visual Studio LightSwitch 2011 and you will see how easy and quick it can be to build high-quality, professional business applications, including an overview of the Microsoft technologies running under the hood.

    This webinar is a live training session starting at 10:00AM PST on Tuesday October 4th. I personally was surprised by the amount of things possible with LightSwitch, its general design strategies, as well as how fast I could make real applications. I will also be on hand during the webinar to answer general questions as well as any LightSwitch related reporting questions.

    Register today:

    register

    I look forward to seeing you tomorrow!

    As always, if there are any comments and/or questions, feel free to get a hold of me!

    Seth Juarez
    Email: sethj@devexpress.com
    Twitter: @SethJuarez

    Want The Best Reporting Tool Ever?

    Get The No-Compromise Reporting Tool for WinForms, ASP.NET, Silverlight and WPF! - Native integration with DevExpress WinForms and ASP.NET Controls, unequalled design-time productivity, industrial-grade features. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

    Let us know what you think of our Reporting Suite by rating it in the VS Gallery!

    Follow SethJuarez on Twitter

  • New LightSwitch Reporting Tutorial in VB

         

    I am happy to announce that we have released a new reporting tutorial for LightSwitch. I personally am not a proficient VB.NET developer but noticed that the majority of folks using our reporting product in LightSwitch were VB fans. I decided to put together a tutorial that covered the essence of reporting in VB. This tutorial includes:

    1. Setting up the reporting extension
    2. Setting up the LightSwitch Report Service
    3. Binding a report to a LightSwitch Entity
    4. Binding a report to a LightSwitch Query
    5. Creating a tight integration between other LightSwitch screens and Reporting.

    Have a look!

    LightSwitch Reporting Tutorial

    As a bit of eye candy I also thought it would be important to create a video showing some of the unknown capabilities that reporting provides in the context of LightSwitch. This video shows off the stuff we all know and love and includes demonstrations of chart and pivot grid integrations. Essentially our Reporting Suite adapted to LightSwitch is your one-stop-shop for all things data.

    LightSwitch Reporting Features

    Let me know what you think!

    As always, if there are any comments and/or questions, feel free to get a hold of me!

    Seth Juarez
    Email: sethj@devexpress.com
    Twitter: @SethJuarez

    Want The Best Reporting Tool Ever?

    Get The No-Compromise Reporting Tool for WinForms, ASP.NET, Silverlight and WPF! - Native integration with DevExpress WinForms and ASP.NET Controls, unequalled design-time productivity, industrial-grade features. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

    Let us know what you think of our Reporting Suite by rating it in the VS Gallery!

    Follow SethJuarez on Twitter

  • What is the WinRT (Windows Runtime) and what does it have to do with .NET?

         

    There has been a lot of confusion engendered by this infamous architecture drawing (slides courtesy of Microsoft):

    Windows 8 Architecture

    If you zoom in some you should see something like this:

    WinRT Architecture Missing Bits

    For some reason this architecture diagram left out the all-important notion called the Projection. The main idea is that each of the technologies used to plug into the WinRT do not directly call the WinRT but work through a binding called a projection (yes even the C/C++ side). So what is this Chakra business then on the JavaScript side? This is simply the code name for the JavaScript engine that maps to the projection. For C#/VB it goes through a profiled version of the CLR. If you are unsure about what a .NET profile is, here is a reminder picture that jogged my memory:

    .NET Profiles

    When you look at project properties you have different profiles that can be used as targets to your program. In Silverlight you have a similar thing:

    Silverlight Profiles

    The best analogy for Metro (at least from the XAML/C# and VB side) is actually Silverlight. A subset of the namespaces we are used to will be available with a strict emphasis on asynchronous unless otherwise stated. For those familiar with WP7 (which is the closest namespace-wise) there have also been some renaming of namespaces (see msdn for more info). The C/C++ side has a thin projection (which theoretically should not be faster than the other projections but I have my doubts here). The better diagram:

    Better Windows 8 Architecture Diagram

    The green bits represent the WinRT and the orange part represents the projection. Every object in the WinRT has the IInspectable and IUnknown interfaces (sound familiar?). The way they are pushed up is a bit different.

    WinRT Projections in Depth

    The key information that’s been added is the Windows Metadata. This portion is what allows the rich intellisense in Visual Studio 11. Now the C++ projection (as far as I understand) does all the binding (ok, projection) stuff at compile time. For the C#/VB apps the story is a bit different. Some of the projection/binding happens at compile time and some happens at runtime. We are being told, however, that this is negligible (hence my doubts).

    Mehul and I chatted a bit about the WinRT on our recap video at the //BUILD/ conference. Notice that when I talk about the WinRT I specifically say that it is not .NET. Hopefully the discussion we had helped clear this up! This does not mean that we cannot write .NET code on top of the WinRT. This is done via the projection mechanism discussed.

    I plan to do similar posts (I’ve been chewing my arm off trying to talk about this stuff!) on the WinRT especially when it comes with the namespaces and classes and what exactly has been exposed to the developers.

    I would love your take on the matter! Also, I have been known to make mistakes. Let me know if you find any glaring ones so I can correct them!

    As always, if there are any comments and/or questions, feel free to get a hold of me!

    Seth Juarez
    Email: sethj@devexpress.com
    Twitter: @SethJuarez

    Want The Best Reporting Tool Ever?

    Get The No-Compromise Reporting Tool for WinForms, ASP.NET, Silverlight and WPF! - Native integration with DevExpress WinForms and ASP.NET Controls, unequalled design-time productivity, industrial-grade features. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

    Let us know what you think of our Reporting Suite by rating it in the VS Gallery!

    Follow SethJuarez on Twitter

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