This Blog


Favorite Posts


November 2010 - Posts

  • VCL Grid – navigator improvements and autosizing of multiline editors (Build 54)

    Some more Build 54 news for the ExpressQuantumGrid 7 beta. (Stay tuned for even more news at the end as well…)

    Grid Navigator (S34190). The Grid Navigator has been enhanced such that it is now equipped with a new section named "Info Panel". This panel displays information about the total number of records and the focused record's position, as shown in the screenshot:


    You can customize the output format, as well as the text font, using the Navigator's API. Furthermore you can add an event handler for a mouse click thought the same API.

    Multiline editor autosizing (S1105). We’ve enhanced the ability of the in-cell multiline editor to size itself appropriately. There are several possible alternatives.

    • imageIn-place editor sizing. In the edited data cell, an editor is vertically sized to fit the content. When editing is completed, the height of the containing row is changed accordingly.
    • imageRow sizing. An entire row (in which editing is performed) is dynamically sized when wrapping to the next line within the editor.
    • imageSingle-line scrollable text input. You opt to disable sizing for all items, or for certain items.

    Note that autosizing is not supported by the drop-down editors, non-text editors, and input mask text editors.

    Alternate hints for column headers (DS2174). As an alternate to the default hint, you can provide any explanatory text specific to the column in the hint window. This hint can be displayed even if the column caption is not clipped.


    Performance improvements. In a multi-level View, data processing has been significantly improved. As an example, with MasterDetailMultiDemo, which ships with the product, v6 of the grid would load in 3760 milliseconds but the new v7 loads in 468 milliseconds.

  • VCL Grid – new chart types coming in Build 54

    We’re preparing the next release of the VCL subscription, Build 54. This contains several new features for ExpressQuantumGrid 7, ExpressBars 7, ExpressLayoutControl 3, ExpressPageControl 3, all of which are going to remain in beta in this release. There are also numerous bug fixes and the like. The release is close enough that we’re merely proofing the new content (documentation, What’s New, etc) that goes along with the release.

    For this first blog post, I’ll concentrate on the new chart types that have been added to the grid. (The issue ids from the support center are provided in parentheses.)

    The Area Diagram (S36166, Q100583):


    Notice here that we have support for missing data points (follow the red and green lines to see the break). This is in response to Q100583 “Missing data representation” and we support missing values to be shown as empty values or zero values.

    The Stacked Area Diagram (Q100583, S35876):


    We’ve also added support for transparency in the various filled diagrams, however this requires GDI+. (S36166)

    The Line Diagram (S36166, Q100583):


    Other changes: We’ve also made a change with regard to the stacked bars chart that’s already present. We’d originally provided it as a single chart type with rotation capability, but we feel that this is confusing to end-users. We’ve now split the two orientations as separate chart types: Stacked Bars (the blocks are horizontal) and Stacked Columns (the blocks are vertical).

  • Why lock ourselves in a silo?

    I recently got an email from a customer with whom I chat every now and then. Paraphrasing:

    I just got my new Windows Phone 7 [he didn’t say which device it was] and I’m very impressed with how good it is. I’m surprised that DevExpress hasn’t been saying anything about creating controls for it. I think this is a huge market and a lot of Windows developers now have a mobile platform they are more comfortable developing for.

    Given that we haven’t had our annual summit yet (it starts next week!), it’s perhaps not surprising that we don’t want to talk about our plans for WP7 yet. But, for some reason, I felt like playing the Devil’s Advocate that day and wrote a long reply, and it’s worth quoting here to engender some discussion:

    The biggest issue is I don't see Windows Phone 7 being so big that we have to create native controls or libraries for it. Remember: the size of a market for applications for platform X is not necessarily indicative of the size of the market for controls for that platform. Yes, there’s some correlation but it’s not a slam dunk.

    Also WP7 is only really appealing to developers like ourselves or our customers. It’s not particularly appealing to developers that use other phone OSes. So, yes, we do hear a lot about WP7: we're sitting at the business end of the Microsoft megaphone after all. (And remember Windows Mobile 6 was also “a mobile platform that Windows developers are more comfortable developing for": it used a Compact .NET runtime and it was only a success in a narrow niche.) But it's way early days yet to determine whether it's going to be big for retail customers. A far bigger retail market in my view is Android. Or iPhone. Or, shudder, Blackberry.

    But the problem that I see is there's a plethora of phone OSes. Which one do you choose to develop for? Choose wrong and there's a problem. (And we go back to my CTO Message about hindsight and foresight.)

    A far bigger market in my view is the one for web apps for phones. All modern (i.e., this year?) phones have a standards-compliant browser. They all have a damn good JavaScript interpreter (and they're getting better at it). Why not write web controls (ASP.NET MVC extensions? Mobile client-side UI controls?) that target them all?

    You could say we at DevExpress pretty much write controls for business apps. Unless a business or a company can lock down which phones can access its systems (and here I'm thinking of my bank as an example), they will have to write apps for all of their customers' phones: iPhone, Android, Blackberry, and, OK, WP7, but in all honesty they only want to write it once. Hence they’ll write a mobile web app. That’s why I can currently go to WellsFargo.com on any smartphone I can get a hold of, and it looks the same: a nice mobile version of my online banking accounts.

    (Of course, the same does not apply to games for phones. There the requirement is for great graphics, smooth animations of sprites and backgrounds and what have you, and native programming is the only way to go. But we don't even pretend to play in that space.)

    And what’s wrong with MonoTouch all of a sudden? Talk about “a mobile platform that Windows developers are more comfortable developing for". (Well, OK, apart from having to use a Mac. Which I do these days.)

    So, what do you think? Am I completely off-base, dreaming in la-la land? Or have I gauged it correctly: for business apps, the OS doesn’t/shouldn’t particularly matter?

  • DevExpress Newsletter 38: Message from the CTO

    This particular Message follows on some thoughts I’ve been having this past month or so:

    Hindsight, easy; foresight, hard

    There have been several instances recently of the truism that it's only hindsight that is 20-20. I'll kick off with our contribution: back last December, when we were laying out the plans for 2010, it seemed entirely feasible that we would get out the second major release of the year in October, maybe November at a pinch. And yet here we are in the latter half of November, having only just released the beta. Yes, certainly we were optimistic that the biggest release of DXperience we've ever done would arrive on time, but who could fault us for having ambitious plans and just going for it?

    For this release, we decided to approach development slightly differently: a feature had to be complete before moving on to the next. Yes, we'd done this before, but this time "complete" meant including documentation, demos, designers, and all the other ancillary things that wrap a feature. So we could talk about completed features earlier than we've ever done in a release cycle. All benefits, no downsides, right? Except that it is human nature to make plans for one's own apps assuming that new feature X would be available in October: it was in the roadmap, remember?.

    Another example from the opposite direction: rumors about Silverlight have abounded since PDC. I won't rehash them here, but in essence you can assume there are 3 camps: Silverlight will continue just fine the way it has for the past couple of years; Silverlight has been repositioned to just line-of-business apps and Windows Phone 7; or Silverlight's death warrant has been all but signed. (Of course, this is not a Holy Trinity; the truth, if anyone except Microsoft knows for sure, is somewhere on a continuum between them all.) It is human nature, then, to worry about starting to write a Silverlight app: whence Silverlight? is niggling at your mind.

    These two scenarios are an example of why foresight is so hard or impossible: we are just terrible at predicting the future. Instead we should discount rumors and instead concentrate on the facts when deciding on a course of action. Facts that we know right now. Yes, we may be wrong, in which case, we fix the issues at a later stage; but we may be all right, in which case we move on to the next decision to make, the next project to do. (Sounds almost Agile, no?)

    Yes, it would be nice to use feature X that DevExpress has announced in my app, but, you know, I'll get out this release and add it into the next one, once they really have provided said feature. Until then I shall view it as vaporware. Yes, I may spend 6 months writing a Silverlight app, worried about its future, but then I'll be able to laugh at all those who dithered on the sidelines once my app's released and successful.

    Unless you're into gambling on stocks, shade the brightness of your foresight. Don’t let it illuminate everything you do.

    Having said all that, we’re certainly going to be burnishing our crystal ball and peering into its foggy depths at our summit from 29th November to 3rd December. Remember to register and tune in: we have two webinars during that time, during which we’ll be talking about what we’re planning for 2011. Of course, the famous DevExpress RoadMap will also be published later as a result.

  • WPF and Silverlight Workspace Manager (coming in v2010.2)

    I saw this one fly by as part of the What’s New proofing that’s going on (Ray is doing a fine job!) and the image alone made it worth publishing a blog post about it.

    First of all, what’s a workspace? A workspace is a particular layout of DevExpress controls together with their visual state. As an example, DXDocking allows the end-user to rearrange the panels in the app, DXBars allows them to relocate the toolbars and to change the commands in those toolbars. These different layouts can be persisted as workspaces. You can then use the workspace manager to switch between the saved workspaces at run-time.

    That’s all well and good and is some very nice functionality but we’ve also added some visual transitions so that the switching isn’t totally instantaneous (perhaps leaving the end-user wondering if something really happened). Check out this GIF animation showing off three particular transitions:

    Example transitions for the Workspace Manager

    The WorkspaceManager can be used with any DevExpress visual control that supports serialization (such as the BarManager, DockLayoutManager, DXGrid, etc). The main visual control may also contain other serializable DevExpress controls as children and in this situation the WorkspaceManager will access and organize the layouts of the child controls as well.

  • WinForms and ASP.NET Charting: moving averages (coming in v2010.2)

    One of the pleasures of being in a downtime at a show like DevConnections is that you can browse the What’s New of our various products through the new Demo Center. Yes, I know I get notified of the new features well in time, but there’s nothing like actually seeing the feature in action.

    One nice example presented itself 10 minutes ago or so as I was playing with the demos for XtraCharts on WinForms. We’re continuing to add trend lines to our financial charts to make that whole sub-genre of charts more valuable for our customers and I came across the Moving Averages demo.

    Here’s the simple moving average (SMA) trend line for a set of stock prices for Dell:

    Simple Moving Average

    As its name suggests: a simple moving average. The chart calculates the average price over a period of time (here, 10 days) for each date. So for day 10, the average for days 1 through 10 is calculated, for day 11 you use days 2 to 11, and so on. Pretty easy.

    Next up is the triangular moving average (TMA). If you describe the SMA as a smoothing operation on the prices so that can more easily see overall trends (rather than the spiky day by day prices), you could describe a TMA as a double smoothing operation. Here the chart calculates the simple moving average of all the SMAs previously calculated. (For day 10 then, the chart calculates the average of the SMAs on days 1 through 10). This double smoothing operation seems to help show deeper changes in direction of the price than does the SMA.

    Here’s the TMA for the same data:

    Triangular Moving Average

    Now we can consider the weighted moving average (WMA). Here the prices that are more recent have more influence (are weighted more) than those earlier on. The weighting used is simple: given a period of 10 days for calculating the average, the most recent price is given a weighting of 10, the previous one a weighting of 9, and so on. Of course, the divisor for the average becomes the sum of the weights.

    Here’s the WMA for the same data.

    Weighted Moving Average

    We can then move to the exponential moving average (EMA). This uses a weighting factor that again prizes more recent prices over earlier ones, but this one decreases the weights exponentially rather than arithmetically.

    Here’s the EMA for the same data:

    Exponential Moving Average

    For trading type applications, these and the other financial trend lines provided in XtraCharts give you a much better analytic environment to study stock price trends.

    (Oh, and before you ask, these new moving average trend lines are fully supported in ASP.NET as well.)

  • eXpressApp Framework: the noob demo edition

    Here’s a hint if you ever have to work an exhibitor booth: if you specialize in a particular portion of your main product, it’s a guaranteed certainty that someone will walk up and ask you about another part. Some feature or functionality that you are somewhat hazy about. So, this morning…

    …enter the customer who wanted to know about eXpressApp Framework and my number was up.

    Let me emphasize that I can talk about the features of XAF until the cows come home, but this customer wanted a full demo with a start-from-scratch solution. I have not done this demo for a full year, possibly more. Gary is not part of this trip, so the heat was most assuredly on.

    File New Project: easy. I selected the full application option. I was going to do Oliver’s old demo staple of books and authors. First problem: my SQL Server Express installation is named and so doesn’t respond to “(local)” as the name. Where do I change that again? (Answer: app.config and web.config; two places and I forgot the second.) Second problem: I couldn’t for the life of me remember the XAF/XPO templates in CodeRush and there was no way I could remember enough to type a new domain object property from zero.

    This necessitated a trip into the CodeRush Options page. Which is, as I’m sure you know, big. As in BIG. And I’d got the “noob” setting at the bottom so I couldn’t see the templates. Mark wasn’t around either so I had to work it all out from scratch. I finally found that the relevant templates are: xc for a new domain object (actually you shouldn’t need this particularly since you generally use Add New Item for the module and you get the right code as part of the Visual Studio template); xp<type> for a new property of a domain object; xpa for a new one-to-one or one-to-many association between two classes; and xpcl for a many-to-one association.

    Once I had all that refreshed in my memory, the demo went very well.

    Nevertheless, learn from my mistakes and revise enough before your trip to your company’s booth that you can provide a ‘light’ demo at a moment’s notice on any subject. You may find your expert on a feature has mysteriously disappeared.

  • DevExpress Newsletter 37: Message from the CTO

    We’re at DevConnections in Las Vegas this week. So, no video again, but at least an interesting, forward-looking Message.

    Lies, damned lies, and roadmaps

    In less than 4 weeks' time DevExpress will hold its 2010 Summit. The Summit is the occasion where, every year, around the New Year, the management, team leads, and evangelists all meet together, listen and watch each other's presentations about where we are, and where we'd like to be, and discuss the proposed features and enhancements for the upcoming year. Of course, this time around, it's all about the Roadmap for 2011.

    And, as always it seems, what a time to be deciding on future directions. Let me count the ways.

    1. Despite what you may hear (or not hear) from Microsoft, WinForms is still going strong. We're certainly going to be looking at some interesting possibilities to make our WinForms offerings more palatable, especially in the Enterprise space.

    2. ASP.NET ditto, despite the 'hammering' it's getting from ASP.NET MVC. It seems clear that the way forward here is with more semantic HTML, better CSS, leaner downloads. And, we have to look at the whole HTML5/CSS3/JavaScript combo, for sure.

    3. Silverlight. Yes, well. In the space of a week, the messaging out of Microsoft has changed from Silverlight being the platform for rich client apps on the web to essentially just being the app environment for Windows Phone 7. And will WP7 be a success (for some definition of success)? Should we follow it? Why it, instead of, say, iOS4 + MonoTouch? And, let me be unequivocal about this: just because we have Silverlight controls doesn't mean that they will work well on WP7. The whole user experience is different on a smartphone than it is on a desktop or in a browser. Like, duh.

    4. WPF. Yes, well. Let us say, the discussion here will be intense.

    5. Our frameworks are certainly in a competitive market. There's Microsoft's Entity Framework to consider, the new (unreleased, note) Lightswitch, and the open source libraries as well.

    6. CodeRush already has some aggressive new features planned for 2011. Next year will be the year where writing clear, concise, well-factored code without CodeRush will be ... very painful.

    7. And as for the VCL products, already Embarcadero are blogging about the 64-bit compiler and source code changes needed for it.

    Of course, as with all roadmaps for an uncertain market, ours will be published with the usual caveats about forward-looking announcements. We're not looking to mislead you per se. No lies here; it's just a roadmap.

    Just to let you know our summit this year is 29th November to 3rd December. We’ll also be providing a couple of webinars during the Summit to let you know our thinking as it happens.

  • What is Miller up to now? The Mind Meld CodeRush at DevConnections?

    I only had my old Polaroid camera with me, but managed to snap this picture of Mark Miller preparing some demo or other in the booth as it was being built.


    But, what is he up to? What’s that on his head? Has he wired himself to his laptop? More news later: I’ve got to nip out to Fry’s to buy a more modern camera…

  • DevConnections Day 0: setup and more setup

    We are in Vegas for DevConnections this week. The actual conference is Tuesday, Wednesday and Thursday, but we’re here a day early to help with the setup of our booth:

    DevConnections setup

    If you’re here, do come along and say hi. Evangelists present are: Mehul, Woody, Seth, Steve, Emil, and Bryan. Mark, Ray, and I are here as well, and Jeff and Amanda will be videoing away, recording everyone’s impressions for posterity. Also watch out for our tweets as the conference progresses (the links on our names are links to Twitter) and Mehul is wandering around with a Flip to get those off-the-cuff comments from attendees and speakers.


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 info@devexpress.com 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