<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://community.devexpress.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ctodx</title><link>http://community.devexpress.com/blogs/ctodx/default.aspx</link><description>Discussions, news and rants from the CTO of Developer Express, Julian M Bucknall</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 SP1 (Build: 30415.43)</generator><item><title>Standardization of data</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/11/12/standardization-of-data.aspx</link><pubDate>Wed, 12 Nov 2008 21:52:00 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:241103</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=241103</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/11/12/standardization-of-data.aspx#comments</comments><description>&lt;p&gt;Over the past few months I&amp;#39;ve read a few blog posts decrying the good ol&amp;#39; Northwind database (stemming, I think, from &lt;a href="http://www.hanselman.com/blog/CommunityCallToActionNOTNorthwind.aspx"&gt;Scott Hanselman&amp;#39;s original post&lt;/a&gt;) and saying &amp;quot;we&amp;quot; (that is, the entire .NET development world) need something new and different. None of that Products and Suppliers stuff, it&amp;#39;s so pass&amp;eacute;; we need something new.&lt;/p&gt;
&lt;p&gt;Actually, speaking from behind my desk with my DevExpress cap firmly on my head (photos to follow -- you mean you didn&amp;#39;t get one at PDC?), I say phooey. We vendors not only need Northwind, but we need a richer Northwind. &lt;/p&gt;
&lt;p&gt;The pros of Northwind are simple to enunciate:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The domain is easily comprehensible. It&amp;#39;s orders with items, it&amp;#39;s products being sold, it&amp;#39;s customers buying them. All developers can relate to this: you don&amp;#39;t even have to think about the domain.  &lt;/li&gt;
&lt;li&gt;Since all vendors use it to a greater or lesser degree for their demos, it&amp;#39;s automatically familiar, which apart from reinforcing the first point, also means that the developer being demoed to can just concentrate on the vendor&amp;#39;s spiel. After all, we don&amp;#39;t support and go to tradeshows like TechEd and PDC to sell Northwind.  &lt;/li&gt;
&lt;li&gt;Since it&amp;#39;s so widespread, it becomes part of the benchmark for evaluating similar products from different vendors. If you are looking for a grid that does master/detail views and are evaluating A, B, C, and DX&amp;#39;s versions, then you already know you&amp;#39;ve got to plug in the Orders table and the Order Details table.  &lt;/li&gt;
&lt;li&gt;Since it&amp;#39;s available, it makes it easier: vendors don&amp;#39;t have to invent, copy, or plagiarize any of this data from other places or each other in order to show off their wares.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In essence, &lt;i&gt;it&amp;#39;s a standard&lt;/i&gt;. &lt;/p&gt;
&lt;p&gt;So what does it need? Again with my vendor cap firmly in position:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Multimedia data. One reason Northwind is so old-fashioned is that there are no images, audio tracks, or videos in the database.  &lt;/li&gt;
&lt;li&gt;Textual or memo data. Something more than a one sentence description, in other words. This could be used for showing off rich text editors, spell checkers, mail merge, etc, etc.  &lt;/li&gt;
&lt;li&gt;Lots of data. And I mean &lt;i&gt;lots&lt;/i&gt;, as in many, many thousands of records. it&amp;#39;s only through having some standard data like this that you can evaluate performance.  &lt;/li&gt;
&lt;li&gt;PIM-style data. You know, appointments, contacts, that kind of thing. Can&amp;#39;t sell a scheduler control without it.  &lt;/li&gt;
&lt;li&gt;Data that can be charted. This is huge since there are so many different chart types. So you should have data that can be charted with bars, pies, lines; project data for Gantt charts; historical stock data for the financial charts; and so on.  &lt;/li&gt;
&lt;li&gt;Real-time data, that is, data that is being updated in real-time. In the past, we&amp;#39;ve hooked into the performance counters on the demo machine to show off our performance with real-time data.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As you can see, in order for us to show off our controls, we have to spend resources and time to invent or generate an awful lot of data (and it&amp;#39;s not like we can sell this to recoup). Northwind is just not broad or rich enough. &lt;/p&gt;
&lt;p&gt;We -- and you -- need standard demo data, for without it, you&amp;#39;ll be comparing apples and oranges. Having said that, using standard data means that you run the risk of vendor code being written to work at its best with it, and if you veer off the straight and narrow the vendor&amp;#39;s code might start to work less well. Correspondingly, if the vendor invented or generated the data, it&amp;#39;s very likely to be invented just to show off the product being demoed. Overall, though I think standard data wins out.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=241103" width="1" height="1"&gt;</description></item><item><title>DevExpress mentioned in VS2010 keynote at TechEd EMEA</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/11/11/devexpress-mentioned-in-vs2010-keynote-at-teched-emea.aspx</link><pubDate>Tue, 11 Nov 2008 21:28:40 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:241242</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=241242</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/11/11/devexpress-mentioned-in-vs2010-keynote-at-teched-emea.aspx#comments</comments><description>&lt;p&gt;Yesterday TechEd EMEA in Barcelona kicked off with a keynote by Jason Zander all about the just announced Visual Studio 2010. It&amp;#39;s still quite away from being in beta or even being released, but it&amp;#39;s already an impressive piece of software. &lt;/p&gt; &lt;p&gt;One of the new features is the editor is written with WPF. It&amp;#39;s got a handful of new features just because of that, and also because they&amp;#39;ve gone back to the drawing board to make it very extensible from the outset. We were asked by the Visual Studio team to write a plug-in that could be shown off during this keynote, and Mark whipped up a plug-in that shows an image in the middle of the code. (Actually &lt;em&gt;whipped&lt;/em&gt;&amp;nbsp; is what the code did to Mark: the interfaces are being worked on continuously and it was like hitting a moving target.) Mark had also worked on a version of his &amp;quot;Display comments as HTML&amp;quot; feature, but that wasn&amp;#39;t shown.&lt;/p&gt; &lt;p&gt;This demonstrates a couple of things: first of all, the ease of extensibility of the new IDE (in previous versions, this was an extremely difficult proposition, to say the least), and second, that DevExpress are working at the forefront of this new technology.&lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DevExpressmentionedinVS2010keynoteatTech_CB8F/image_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="image" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DevExpressmentionedinVS2010keynoteatTech_CB8F/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The keynote can be seen &lt;a href="http://www.microsoft.com/emea/teched2008/developer/"&gt;here&lt;/a&gt; (there&amp;#39;s no direct link to the actual video, just look for &amp;quot;Jason Zander Keynote at TechEd EMEA Developers&amp;quot; and play that one). At about 32:30, Jason mentions DevExpress and shows the plug-in. Unfortunately the resolution of the video is such that it&amp;#39;s all a bit fuzzy. Nevertheless I&amp;#39;d advise you to watch the entire thing: there are a lot of very cool features coming down the pipe.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: Forgot to add that I was quoted in the &lt;a href="http://www.microsoft.com/presspass/press/2008/nov08/11-10TechEd2008DevelopersPR.mspx"&gt;official Microsoft press release&lt;/a&gt; about this. Fame, what&amp;#39;s your name?&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=241242" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/VS2010/default.aspx">VS2010</category></item><item><title>VCL subscription: new localization tool coming in next build</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/31/vcl-subscription-new-localization-tool-coming-in-next-build.aspx</link><pubDate>Fri, 31 Oct 2008 21:49:00 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:240237</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=240237</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/31/vcl-subscription-new-localization-tool-coming-in-next-build.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image001_2.gif"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="30" alt="clip_image001" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image001_thumb.gif" width="30" border="0" /&gt;&lt;/a&gt; We&amp;#39;ve been working on a new tool for native Delphi and C++Builder developers and will release it in the next build (build 40). It&amp;#39;s known, catchily, as the TcxLocalizer component. Oh, and it&amp;#39;s free with the subscription. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;WAY COOL UPDATE&lt;/font&gt;&lt;/strong&gt;: I totally misinterpreted the information I was given. Apparently TcxLocalizer is going to be shipped with the &amp;quot;Express Cross Platform Library&amp;quot; which is included as part of all our active latest products. So you don&amp;#39;t need the subscription, you&amp;#39;ll, well, just get it anyway, provided you&amp;#39;re up to date. And a little birdie tells me that Build 40 is on target for release next week. With that, back to your normal programme...&lt;/p&gt; &lt;p&gt;The TcxLocalizer component helps you localize those of your applications that use our controls, as well as third-party or standard controls. This component provides centralized control over an application’s UI language or locale. Using this component, switching to another locale is as simple as changing a single option. &lt;/p&gt; &lt;p&gt;Here&amp;#39;s how it works -- the brief version. &lt;/p&gt; &lt;p&gt;Create a resource string file using the Localizer Editor, which is a standalone application shipped with the component. You then drop the TcxLocalizer component onto a form, link the resource string file to it, and select the current locale. &lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image003_2.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="180" alt="clip_image003" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image003_thumb.jpg" width="208" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;At this point, you can just run the application and see it localized. &lt;i&gt;Voilà&lt;/i&gt;! &lt;/p&gt; &lt;h4&gt;&lt;b&gt;Localizing Developer Express controls&lt;/b&gt;&lt;/h4&gt; &lt;p&gt;With our controls, the text displayed by various UI elements is provided by resource strings. Prior to the TcxLocalizer component, you had to go and manually change resource string values with the translated text. Now, you can use the Localizer Editor to browse all the available resource strings for our controls, specify resource string values for any number of locales, and store these values to a resource strings file. &lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image005_2.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="186" alt="clip_image005" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image005_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image007_2.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="127" alt="clip_image007" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image007_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;After this, the created file can be linked to the TcxLocalizer component, and at runtime, the controls will display the text based on the selected locale. &lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image009_2.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="187" alt="clip_image009" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image009_thumb.jpg" width="179" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;h4&gt;&lt;b&gt;Localizing standard or third-party controls&lt;/b&gt;&lt;/h4&gt; &lt;p&gt;Along with the configured TcxLocalizer component that you use in the application, specify the IdxLocalizerListener interface for the control to be translated (whether that is a form, frame, or custom control), and implement the IdxLocalizerListener.TranslationChanged method. In this method, perform all the necessary modifications to the UI, such as label and caption initializations, etc. &lt;/p&gt; &lt;p&gt;Of course, you are free to programmatically assign string constants based on the current locale specified by the TcxLocalizer component, however the Localizer Editor provides a more convenient and elegant way to accomplish this. You can define custom resource strings with unique names, store them to a resource strings file, and later retrieve them in the TranslationChanged method. &lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image011_2.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="207" alt="clip_image011" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/VCLsubscriptionnewlocalizationtoolcoming_DE7D/clip_image011_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This way, you can control and modify all the resource strings used in your applications in a centralized manner. &lt;/p&gt; &lt;p&gt;The following example demonstrates how a form’s caption and some labels are localized using resource strings from a resource strings file created with the Localizer Editor. &lt;/p&gt;&lt;pre&gt;// Delphi&lt;br /&gt;// ...&lt;br /&gt;&lt;b&gt;uses&lt;/b&gt;&lt;br /&gt;  cxLocalization, dxCore, cxClasses, ;&lt;br /&gt;&lt;b&gt;type&lt;/b&gt;&lt;br /&gt;  TForm1 = &lt;b&gt;class&lt;/b&gt;(TForm, IdxLocalizerListener)&lt;br /&gt;// ...&lt;br /&gt;  &lt;b&gt;public&lt;/b&gt;&lt;br /&gt;    &lt;b&gt;procedure&lt;/b&gt; TranslationChanged;&lt;br /&gt;  &lt;b&gt;end&lt;/b&gt;; &lt;br /&gt;// ...&lt;br /&gt;&lt;b&gt;procedure&lt;/b&gt; TForm1.TranslationChanged;&lt;br /&gt;&lt;b&gt;begin&lt;/b&gt;&lt;br /&gt;  Caption := cxGetResourceString(@sMainFormCaption);&lt;br /&gt;  lblDescription.Caption := cxGetResourceString(@sDescription);&lt;br /&gt;  lblFileLocation.Caption := cxGetResourceString(@sFileLocation);&lt;br /&gt;// ...&lt;br /&gt;&lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=240237" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/VCL/default.aspx">VCL</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/localization/default.aspx">localization</category></item><item><title>DXperience v2008 vol 3: What's New is now live</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/31/dxperience-v2008-vol-3-what-s-new-is-now-live.aspx</link><pubDate>Fri, 31 Oct 2008 21:13:42 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:240232</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=240232</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/31/dxperience-v2008-vol-3-what-s-new-is-now-live.aspx#comments</comments><description>&lt;p&gt;OK, there I was writing about the new features in DXperience v2008 vol 3, and I needed to find out about a particular one. So I nipped into the next room to ask Andrew about it, and he said, duh, the What&amp;#39;s New has just been uploaded to the main website and I can read about it there.&lt;/p&gt; &lt;p&gt;Heh! So, if you want to know about the new features in DXperience v2008 vol 3, go &lt;a href="http://www.devexpress.com/Products/NET/DXperience/WhatsNew2008v3/"&gt;here&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;A quick note: we just released beta 1 of v2008 vol 3. We will release at least another beta and most probably a Release Candidate (RC) over the next two or three weeks. The main reason for this is that the new WinForms Rich Text editor wasn&amp;#39;t quite ready and we didn&amp;#39;t want to delay the first beta any more. So, in the next beta you&amp;#39;ll be getting some bug fixes and also the beta for XtraRichTextEdit. &lt;/p&gt; &lt;p&gt;This new component (of which you&amp;#39;ll be seeing more information over the near future) is going to remain in beta until v2009 vol 1. It will have a Go Live license, so if you want to use it in your production apps before then, you can. However I would point out that the reason we&amp;#39;re not moving it out of beta yet is that we want our customers to bash at it and use it in earnest in order to tease out any remaining bugs it may have (OK, OK, that it &lt;em&gt;will&lt;/em&gt; have &lt;img src="http://community.devexpress.com/emoticons/emotion-1.gif" alt="Smile" /&gt;). We&amp;#39;re extremely pleased with it and its architecture (and if you were at PDC you&amp;#39;ll have seen a demo of the Silverlight version) and it&amp;#39;s very stable and performant. Check it out in the next beta.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=240232" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2008.3/default.aspx">v2008.3</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraRichEdit/default.aspx">XtraRichEdit</category></item><item><title>DXperience v2008 vol 3: End-user report designer now fully skinnable (WinForms)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/31/dxperience-v2008-vol-3-end-user-report-designer-now-fully-skinnable-winforms.aspx</link><pubDate>Fri, 31 Oct 2008 19:27:13 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:240209</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=240209</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/31/dxperience-v2008-vol-3-end-user-report-designer-now-fully-skinnable-winforms.aspx#comments</comments><description>&lt;p&gt;We&amp;#39;ve now replaced the standard property grid in XtraReports&amp;#39; end-user report designer with our own XtraPropertyGrid. &lt;/p&gt; &lt;p&gt;This has two consequences. First, the end-user designer is now fully skinnable with our various skins. Here it is with the Pumpkin skin.&lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3Enduserreportdesigner_BD33/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="176" alt="image" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3Enduserreportdesigner_BD33/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Second, if it wasn&amp;#39;t really obvious before, it certainly is now: if you want to &lt;em&gt;change&lt;/em&gt; the end-user report designer for your own application or house style, you will need licenses to the various DevExpress products used to create the look-n-feel in order to recompile it. If you have DXperience WinForms, Enterprise, or Universal, no sweat, but if not, please be aware of this requirement.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=240209" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraReports/default.aspx">XtraReports</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2008.3/default.aspx">v2008.3</category></item><item><title>DXperience v2008 vol 3: sorting by any column/row in the pivot grid (WinForms)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/31/dxperience-v2008-vol-3-sorting-by-any-column-row-in-the-pivot-grid-winforms.aspx</link><pubDate>Fri, 31 Oct 2008 18:58:50 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:240206</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=240206</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/31/dxperience-v2008-vol-3-sorting-by-any-column-row-in-the-pivot-grid-winforms.aspx#comments</comments><description>&lt;p&gt;This one is for those hard-core types who live and breathe pivot grids (and I&amp;#39;m talking about the end-users here).&lt;/p&gt; &lt;p&gt;In version v2008 vol 3, you can specify the summary columns or rows that can be sorted. At run-time, the user merely has to right-click the column or row header to bring up a context menu and then select the required sorting option.&lt;/p&gt; &lt;p&gt;Since pictures are worth a thousand words, check this out. Here&amp;#39;s a pivot grid showing orders generated by the sales people, ordered by month.&lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3sortingbyanycolumnrow_B688/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="137" alt="image" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3sortingbyanycolumnrow_B688/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I&amp;#39;d really like to see those sales people sorted by order amount for each month. So, I right click on the Order Amount column header:&lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3sortingbyanycolumnrow_B688/image_4.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="137" alt="image" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3sortingbyanycolumnrow_B688/image_thumb_1.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;And select Sort Sales Person by This Column:&lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3sortingbyanycolumnrow_B688/image_6.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="137" alt="image" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3sortingbyanycolumnrow_B688/image_thumb_2.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;That showed the data in ascending order (and note the small icon in the Order Amount column header that shows it&amp;#39;s the &amp;quot;sorting data&amp;quot;. To show it in descending order, I merely click the Sales Person column header:&lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3sortingbyanycolumnrow_B688/image_8.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="137" alt="image" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3sortingbyanycolumnrow_B688/image_thumb_3.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=240206" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraPivotGrid/default.aspx">XtraPivotGrid</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2008.3/default.aspx">v2008.3</category></item><item><title>Breaking Changes for DXperience v2008 vol 3 (miscellaneous)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-miscellaneous.aspx</link><pubDate>Thu, 30 Oct 2008 23:08:43 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:240086</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=240086</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-miscellaneous.aspx#comments</comments><description>&lt;p&gt;This is the fourth part of the Breaking Changes list for v2008 vol 3, covering miscellaneous changes.  &lt;p&gt;This list is &lt;em&gt;not&lt;/em&gt; the What&amp;#39;s New list for v2008 vol 3, but merely the changes we&amp;#39;ve had to make to DXperience in order to fix bugs, add new functionality, or improve the user experience. If you already have projects using DXperience, you will need to peruse this list in order to understand the changes you might need to make to your source code to support this new major release.  &lt;p&gt;Note that we only publish the changes to the public interface of our controls. We reserve the right to change the protected, internal, or private interfaces when needed. &lt;h4&gt;Data Library &lt;/h4&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;If a control&amp;#39;s data source is being changed from a non-UI thread, an exception is now thrown.&lt;br /&gt;&lt;/strong&gt;When a control is notified from a non-UI thread that its data source has been changed, an exception will now be thrown. This is now the default behavior.&lt;br /&gt;If you don&amp;#39;t want these exceptions to be thrown (as it worked in previous versions), set the CurrencyDataController.DisableThreadingProblemsDetection property to True.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-reporting-charting-gauges.aspx"&gt;Breaking Changes part 1&lt;/a&gt; covering charts, reports, gauges.&lt;br /&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-scheduling.aspx"&gt;Breaking Changes part 2&lt;/a&gt; covering scheduling.&lt;br /&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-frameworks.aspx"&gt;Breaking Changes part 3&lt;/a&gt; covering XAF.&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=240086" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Breaking+changes/default.aspx">Breaking changes</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraGrid/default.aspx">XtraGrid</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2008.3/default.aspx">v2008.3</category></item><item><title>Breaking Changes for DXperience v2008 vol 3 (frameworks)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-frameworks.aspx</link><pubDate>Thu, 30 Oct 2008 22:00:57 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:240083</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=240083</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-frameworks.aspx#comments</comments><description>&lt;p&gt;This is the third part of the Breaking Changes list for v2008 vol 3, covering changes to XAF (eXpress App Framework).  &lt;p&gt;This list is &lt;em&gt;not&lt;/em&gt; the What&amp;#39;s New list for v2008 vol 3, but merely the changes we&amp;#39;ve had to make to DXperience in order to fix bugs, add new functionality, or improve the user experience. If you already have projects using DXperience, you will need to peruse this list in order to understand the changes you might need to make to your source code to support this new major release.  &lt;p&gt;Note that we only publish the changes to the public interface of our controls. We reserve the right to change the protected, internal, or private interfaces when needed.  &lt;h4&gt;eXpressApp Framework &lt;/h4&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Many classes and interfaces have been replaced with interfaces from the new TypesInfo system.&lt;br /&gt;&lt;/strong&gt;The following classes and interfaces will no longer be used from XAF v2008 vol 3 onwards:&lt;br /&gt;ComplexMemberDescriptor&lt;br /&gt;ComplexPropertyDescriptor&lt;br /&gt;DescriptorFactory&lt;br /&gt;FieldInfoWrapper&lt;br /&gt;IMemberInfoWrapper&lt;br /&gt;PropertyDescriptorWrapper&lt;br /&gt;PropertyInfoWrapper&lt;br /&gt;ReflectionMemberInfoWrapper&lt;br /&gt;XpoDescriptorFactory&lt;br /&gt;XpoMemberInfoWrapper (The IAssemblyInfo, ITypesInfo, ITypeInfo and IMemberInfo interfaces should be used instead.)  &lt;li&gt;&lt;strong&gt;The CollectionSourceBase.IsObjectFitForCollection method now returns a nullable bool instead of the standard bool.&lt;/strong&gt;  &lt;li&gt;&lt;strong&gt;Rules applied to non-public properties are not supported anymore.&lt;br /&gt;&lt;/strong&gt;If you need to apply a rule to a property that should not be visible in a UI, apply the [Browsable(false)] attribute to the property instead of making it private or protected. For example:&lt;br /&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;[Browsable(false)] &lt;br /&gt;[RuleFromBoolProperty(....)]&lt;br /&gt;public bool IsValid {&lt;br /&gt;&amp;nbsp; get { ... }&lt;br /&gt;}&lt;/font&gt;  &lt;li&gt;&lt;strong&gt;Several members of the DevExpress.ExpressApp.Validation.ValidationExceptionId enumeration have been renamed. The corresponding resource strings were renamed as well.&lt;br /&gt;&lt;/strong&gt;- DeleteErrorMessageHeaderFormat was renamed to DeleteErrorMessageHeader;&lt;br /&gt;- SaveErrorMessageHeaderFormat was renamed to SaveErrorMessageHeader.  &lt;li&gt;&lt;strong&gt;The DevExpress.ExpressApp.Validation.Serialization.IRuleSerializerOnDictionaryNode interface has been changed.&lt;/strong&gt; &lt;br /&gt;There are two new methods:&lt;br /&gt;- bool IsRuleSupported(Type ruleType)&lt;br /&gt;- bool IsRuleSupported(DictionaryNode ruleNode)  &lt;li&gt;&lt;strong&gt;The IAnalysisInfo interface has been changed.&lt;/strong&gt; &lt;br /&gt;The DimensionProperties property now has the IList&amp;lt;string&amp;gt; type.  &lt;li&gt; &lt;p&gt;&lt;strong&gt;The PropertyEditor.MemberDescriptor property now returns an object of the IMemberInfo type.&lt;/strong&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The size of the DevExpress.Persistent.BaseImpl.Analysis business class&amp;#39; Criteria property has been changed.&lt;/strong&gt; &lt;br /&gt;The Criteria property of the DevExpress.Persistent.BaseImpl.Analysis business class has been enlarged. It now has an unlimited size, since it became necessary to save large criteria. If you use this class in your application, you should update your database. To learn how to do this, see the UpdateAnalysisCriteriaColumn method in the MainDemo.Module.Updater class.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The XafApplication.CreatePropertyCollectionSource method has been changed.&lt;/strong&gt; &lt;br /&gt;Its MemberDescriptor parameter is now of type IMemberInfo.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The XafApplication.CustomizeCulture and XafApplication.CustomiseFormattingCulture events have been removed.&lt;/strong&gt; &lt;br /&gt;These events were obsolete. The CustomizeLanguage and CustomizeFormattingCulture events are now used instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;XAF attributes should be added via XafTypeInfo, and not via XPDictionary.&lt;/strong&gt; &lt;br /&gt;For instance, in previous XAF versions, the CreatableItemAttribute attribute was added in the following way:&lt;br /&gt;&lt;font face="Courier New"&gt;xpDictionary.QueryClassInfo(typeof(Person)).AddAttribute(new CreatableItemAttribute(false));&lt;/font&gt;&lt;br /&gt;It must now be added in the following manner:&lt;br /&gt;&lt;font face="Courier New"&gt;XafTypesInfo.Instance.FindTypeInfo(typeof(Person)).AddAttribute(new CreatableItemAttribute(false));&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-reporting-charting-gauges.aspx"&gt;Breaking Changes part 1&lt;/a&gt; covering charts, reports, gauges.&lt;br /&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-scheduling.aspx"&gt;Breaking Changes part 2&lt;/a&gt; covering scheduling.&lt;br /&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-miscellaneous.aspx"&gt;Breaking Changes part 4&lt;/a&gt; covering miscellaneous changes.&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=240083" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Breaking+changes/default.aspx">Breaking changes</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XAF/default.aspx">XAF</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2008.3/default.aspx">v2008.3</category></item><item><title>Breaking Changes for DXperience v2008 vol 3 (scheduling)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-scheduling.aspx</link><pubDate>Thu, 30 Oct 2008 21:27:26 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:240074</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=240074</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-scheduling.aspx#comments</comments><description>&lt;p&gt;This is the second part of the Breaking Changes list for v2008 vol 3, covering changes to XtraScheduler (WinForms) and ASPxScheduler.  &lt;p&gt;This list is &lt;em&gt;not&lt;/em&gt; the What&amp;#39;s New list for v2008 vol 3, but merely the changes we&amp;#39;ve had to make to DXperience in order to fix bugs, add new functionality, or improve the user experience. If you already have projects using DXperience, you will need to peruse this list in order to understand the changes you might need to make to your source code to support this new major release.  &lt;p&gt;Note that we only publish the changes to the public interface of our controls. We reserve the right to change the protected, internal, or private interfaces when needed.&lt;/p&gt; &lt;h4&gt;ASPxScheduler and XtraScheduler&lt;/h4&gt; &lt;ul&gt; &lt;li&gt; &lt;li&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The PersistentObjectCollection interface has been removed.&lt;/strong&gt; &lt;br /&gt;All persistent objects for the scheduler now inherit from the NotificationCollection&amp;lt;T&amp;gt; class. For example, AppointmentBaseCollection is now declared as NotificationCollection&amp;lt;Appointment&amp;gt; and ResourceBaseCollection as NotificationCollection&amp;lt;Resource&amp;gt;.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The type of the PersistentObjectStorage&amp;lt;T&amp;gt;.Items property has been changed.&lt;/strong&gt; &lt;br /&gt;The PersistentObjectStorage&amp;lt;T&amp;gt;.Items property&amp;#39;s type was changed from PersistentObjectCollection to NotificationCollection&amp;lt;T&amp;gt;.&lt;/p&gt; &lt;li&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;Multiple obsolete members are no longer usable.&lt;/strong&gt; &lt;br /&gt;Using the following members, already marked as obsolete in previous versions, no longer results in compiler warnings, but compiler errors instead. You should update your code to use those members recommended by the warning/error instead.&lt;br /&gt;object PersistentObject::Tag { get; set; }&lt;br /&gt;int AppointmentCollection::Add(DateTime start, DateTime end, string subject)&lt;br /&gt;int AppointmentCollection::Add(DateTime start, TimeSpan duration, string subject)&lt;br /&gt;Appointment AppointmentCollection::GetOccurrence(Appointment pattern, int recurrenceIndex)&lt;br /&gt;void AppointmentCollection::DeleteExceptions(Appointment pattern)&lt;br /&gt;AppointmentBaseCollection AppointmentCollection::GetExceptions(Appointment pattern)&lt;br /&gt;Appointment AppointmentCollection::CreateException(Appointment pattern, AppointmentType type, int recurrenceIndex)&lt;br /&gt;void AppointmentCollection::RestoreOccurrence(Appointment apt)&lt;br /&gt;AppointmentBaseCollection AppointmentCollection::GetPatternOccurrences(Appointment pattern, DateTime start, DateTime end)&lt;br /&gt;public static AppointmentBaseCollection AppointmentCollection::GetPatternOccurrences(Appointment pattern, TimeInterval interval)&lt;br /&gt;AppointmentBaseCollection AppointmentCollection::GetConflicts(Appointment appointment, TimeInterval interval)&lt;br /&gt;public bool AppointmentCollection::IsIntersecting(TimeInterval interval, Resource resource)&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;Several non-generic classes have been made generic instead.&lt;br /&gt;&lt;/strong&gt;In general these classes are for internal use only so should have no effect on your code. In essence, they have the same name but are now decorated with the T parametrized type.&lt;br /&gt;PersistentObjectStorage has become PersistentObjectStorage&amp;lt;T&amp;gt;&lt;br /&gt;DataManager has become DataManager&amp;lt;T&amp;gt;&lt;br /&gt;IPersistentObjectStorageProvider has become IPersistentObjectStorageProvider&amp;lt;T&amp;gt;&lt;br /&gt;QueryPersistentObjectStorageEventHandler has become QueryPersistentObjectStorageEventHandler&amp;lt;T&amp;gt;&lt;br /&gt;QueryPersistentObjectStorageEventArgs has become QueryPersistentObjectStorageEventArgs&amp;lt;T&amp;gt;&lt;br /&gt;CustomFieldMappingBase has become CustomFieldMappingBase&amp;lt;T&amp;gt;&lt;br /&gt;MappingInfoBase has become MappingInfoBase&amp;lt;T&amp;gt;&lt;br /&gt;CustomFieldMappingCollectionBase has become CustomFieldMappingCollectionBase&amp;lt;T&amp;gt;&lt;br /&gt;MappingsAutoPicker has become MappingsAutoPicker&amp;lt;T&amp;gt;&lt;br /&gt;PersistentObjectUserModificationsRegistrator has become PersistentObjectUserModificationsRegistrator&amp;lt;T&amp;gt;&lt;br /&gt;StorageXmlConverter has become StorageXmlConverter&amp;lt;T&amp;gt;&lt;br /&gt;PersistentObjectStorageFilteredComponentImplementation has become PersistentObjectStorageFilteredComponentImplementation&amp;lt;T&amp;gt;&lt;br /&gt;SchedulerStorageActionList has become SchedulerStorageActionList&amp;lt;T&amp;gt;&lt;br /&gt;DefaultDataFieldsProvider has become DefaultDataFieldsProvider&amp;lt;T&amp;gt;&lt;br /&gt;PersistentObjectStorageTypeEditor has become PersistentObjectStorageTypeEditor&amp;lt;T&amp;gt;&lt;br /&gt;MappingsChecker has become MappingsChecker&amp;lt;T&amp;gt;&lt;br /&gt;SetupMappingsBaseWizard has become SetupMappingsBaseWizard&amp;lt;T&amp;gt;&lt;br /&gt;MappingsChecker has become MappingsChecker&amp;lt;T&amp;gt;&lt;br /&gt;NotificationCollection&amp;lt;T&amp;gt;: CollectionChangedEventHandler has become CollectionChangedEventHandler&amp;lt;T&amp;gt;&lt;br /&gt;NotificationCollection&amp;lt;T&amp;gt;: CollectionChangedEventArgs has become CollectionChangedEventArgs&amp;lt;T&amp;gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-reporting-charting-gauges.aspx"&gt;Breaking Changes part 1&lt;/a&gt; covering charts, reports, gauges.&lt;br /&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-frameworks.aspx"&gt;Breaking Changes part 3&lt;/a&gt; covering XAF.&lt;br /&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-miscellaneous.aspx"&gt;Breaking Changes part 4&lt;/a&gt; covering miscellaneous changes.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=240074" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Breaking+changes/default.aspx">Breaking changes</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraScheduler/default.aspx">XtraScheduler</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/ASPxScheduler/default.aspx">ASPxScheduler</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2008.3/default.aspx">v2008.3</category></item><item><title>Breaking Changes for DXperience v2008 vol 3 (reporting, charting, gauges)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-reporting-charting-gauges.aspx</link><pubDate>Thu, 30 Oct 2008 21:04:43 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:240072</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=240072</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-reporting-charting-gauges.aspx#comments</comments><description>&lt;p&gt;This is the first part of the Breaking Changes list for v2008 vol 3, covering changes to XtraCharts and XtraReports in WinForms and AS.NET, as well as XtraGauges (WinForms only, the ASP.NET version of our gauges product is known as ASPxGauges).  &lt;p&gt;This list is &lt;em&gt;not&lt;/em&gt; the What&amp;#39;s New list for v2008 vol 3, but merely the changes we&amp;#39;ve had to make to DXperience in order to fix bugs, add new functionality, or improve the user experience. If you already have projects using DXperience, you will need to peruse this list in order to understand the changes you might need to make to your source code to support this new major release.  &lt;p&gt;Note that we only publish the changes to the public interface of our controls. We reserve the right to change the protected, internal, or private interfaces when needed.  &lt;h4&gt;XtraCharts Suite &lt;/h4&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;DateTime scale - The AxisBase.GridSpacing property is now measured in the measure units specified by the AxisBase.DateTimeGridAlignment property.&lt;/strong&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;DateTime scale - The AxisRange.MinValueInternal and AxisRange.MaxValueInternal properties are now measured in the measure units specified by the AxisBase.DateTimeGridAlignment property.&lt;/strong&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;DateTime scale - The BarSeriesView.BarWidth, Bar3DSeriesView.BarWidth, Bar3DSeriesView.BarDepth properties are now measured in the measure units specified by the Axis.DateTimeGridAlignment property.&lt;/strong&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;DateTime scale - The FinancialSeriesView.LevelLineLength and FinancialDrawOptions.LevelLineLength properties are now measured in the measure units specified by the Axis.DateTimeGridAlignment property.&lt;/strong&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;If several series contain different arguments of a Qualitative type, their order may be changed if some series have the sorting option enabled, while others don&amp;#39;t.&lt;/strong&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The ChartControl.DateTimeOptions, WebChartControl.DateTimeOptions, XRChart.DateTimeOptions obsolete properties have been removed.&lt;br /&gt;&lt;/strong&gt;Use the AxisBase.DateTimeOptions property instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The ConstantLine.Value, CustomAxisLabel.Value and the StripLimit.Value obsolete properties have been removed.&lt;br /&gt;&lt;/strong&gt;Use the AxisValue property instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The DateTimeOptions.MeasureUnit obsolete property has been removed.&lt;br /&gt;&lt;/strong&gt;Use the AxisBase.MeasureUnit property instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The PercentOptions.ValuePercentPrecision obsolete property has been removed.&lt;br /&gt;&lt;/strong&gt;Use the PercentageAccuracy property instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The PointOptions.BeginText, PointOptions.EndText, PointOptions.Separator obsolete properties have been removed.&lt;br /&gt;&lt;/strong&gt;Use the Pattern property instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The ScrollingRange.AlwaysShowZeroLevel property value should now be explicitly set.&lt;/strong&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The Series.Label property for the StackedAreaSeriesView type now returns an object of the StackedAreasSeriesLabel type instead of PointSeriesLabel.&lt;br /&gt;&lt;/strong&gt;This is required to return the OverlappingOptions object instead of the PointOverlappingOptions object for the SeriesLabelBase.OverlappingOptions property.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The SideMarginsEnabled property&amp;#39;s behavior (when adding or removing series at runtime, or changing a series view at runtime) was changed.&lt;br /&gt;&lt;/strong&gt;Previously, if the Series.View property value was changed at runtime, or the ChartControl.Series collection was changed (either new series were added or some existing series were removed from this collection), the Axis.Range.SideMarginsEnabled property might inadvertently change its value. Now these operations don&amp;#39;t have any effect on the SideMarginsEnabled property value.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;h4&gt;XtraGauges &lt;/h4&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;A new assembly has been added to store presets data: XtraGauges.Presets.&lt;br /&gt;&lt;/strong&gt;The presets data was moved to this assembly from the XtraGauges.Win.Design assembly.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;All platform-independent code has been moved to the XtraGauges.Core assembly.&lt;/strong&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;BaseTextAppearance: The Format property is now of type StringFormatObject.&lt;br /&gt;&lt;/strong&gt;The native StringFormat type was replaced by our own StringFormatObject.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;Some properties now have different type converters and therefore their appearance has been changed in the Property Grid.&lt;br /&gt;&lt;/strong&gt;This is caused by implementing editing for some type converters (BrushObject,ShaderObject... etc.), to correctly support the Visual Studio design time for ASPxGauges.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The GaugeBase class was renamed to BaseGaugeWin.&lt;/strong&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The Tickmark inheritance hierarchy was changed.&lt;br /&gt;&lt;/strong&gt;In v2008 vol 2, the IMajorTickmark interface was inherited from IMinorTickmark. Now, in v2008 vol 3, the IMajorTickmark interface inherits from ITickmark.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;h4&gt;XtraPrinting Library &lt;/h4&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;If you create custom Print Preview forms, the new appearance of the Status Bar isn&amp;#39;t applied until you choose the Update context link for the PrintBarManager in its smart tag.&lt;br /&gt;&lt;/strong&gt;NOTE: All your custom changes to the PrintBarManager will be removed when you click on the Update context link.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;Printing and exporting is now disabled until all pages are created.&lt;br /&gt;&lt;/strong&gt;You shouldn&amp;#39;t call a report&amp;#39;s Print, PrintDlg, or any ExportTo~ methods right after calling the ShowPreview or ShowPreviewDialog methods since an exception will be raised because all pages might not be ready.&lt;br /&gt;To make sure that all pages have been created, you need to either call the XtraReport.CreateDocument method without any parameters, or call the XtraReport.CreateDocument(true) method and wait until the document has been fully created by polling the XtraReport.PrintingSystem.Document.IsCreating property value.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The DevExpress.XtraPrinting.IPageHeaderFooter interface has been removed.&lt;br /&gt;&lt;/strong&gt;Actually, this interface couldn&amp;#39;t be properly used in user applications, and now it is no longer necessary for internal purposes.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The IPageHeaderFooter Link.pageHF protected field has been removed.&lt;br /&gt;&lt;/strong&gt;You don&amp;#39;t need to use this property at all.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The obsolete ExportOptions.CompressPdfImages property has been removed.&lt;br /&gt;&lt;/strong&gt;You should use the ExportOptions.Pdf.ImageQuality property instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The obsolete ExportOptions.HtmlCharSet property has been removed.&lt;br /&gt;&lt;/strong&gt;You should use the ExportOptions.Html.CharacterSet and Mht.CharacterSet properties instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The obsolete ExportOptions.XlsNativeFormat property has been removed.&lt;br /&gt;&lt;/strong&gt;You should use the Xls.UseNativeFormat property instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The obsolete Watermark.Transparency property has been removed.&lt;br /&gt;&lt;/strong&gt;You should use the Watermark.TextTransparency and Watermark.ImageTransparency properties instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The progress bar is no longer visible if you only use a PrintControl to preview a document.&lt;br /&gt;&lt;/strong&gt;The progress bar was moved to the status bar in order to incorporate a Stop button next to it. So, if you want to embed the progress bar and the Stop button into your custom Print Preview, you need to use the PrintBarManager component in addition to the PrintControl.&lt;/p&gt; &lt;li&gt;&lt;strong&gt;The types of the PrintingSystem.AfterPagePaint event handler and event args were changed.&lt;br /&gt;&lt;/strong&gt;This was done in order to implement &lt;a href="http://www.devexpress.com/issue=S91761"&gt;suggestion S91761&lt;/a&gt;.&lt;br /&gt;-- PageEventHandler was changed to PagePaintEventHandler;&lt;br /&gt;-- PageEventArgs was changed to PagePaintEventArgs.  &lt;li&gt; &lt;p&gt;&lt;strong&gt;The usage of the ProgressReflector class has been changed, and this class is no longer static.&lt;br /&gt;&lt;/strong&gt;This was done in order to correctly implement &lt;a href="http://www.devexpress.com/issue=AS3017"&gt;suggestion AS3017&lt;/a&gt;.&lt;br /&gt;Note that you can find previous and updated approaches concerning the use of the ProgressReflector class in our Code Central &lt;a href="http://www.devexpress.com/example=E906"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;h4&gt;XtraReports Suite &lt;/h4&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;If an XRLabel, XRPageInfo or XRBarCode is created at runtime, its Padding property will be set to its parent&amp;#39;s Padding property value by default.&lt;br /&gt;&lt;/strong&gt;This breaking change was caused by fixing &lt;a href="http://www.devexpress.com/issue=B33057"&gt;issue B33057&lt;/a&gt;. &lt;br /&gt;The obsolete XRBarCode&amp;#39;s Padding property of type int is changed to type PaddingInfo. The original property is now obsolete and hidden.&lt;br /&gt;Note that this breaking change has no effect if you add these controls at design time -- in this case a control&amp;#39;s Padding property value is automatically changed to the value used in previous versions. And, in order to inherit the Padding property value from a control&amp;#39;s parent, you will need to reset this property via the context menu in the Property Grid.&lt;br /&gt;So, all reports that were created with previous versions of XtraReports will be correctly de-serialized and are not affected by this breaking change.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;It&amp;#39;s now required to add a reference to the DevExpress.XtraVerticalGrid assembly if your application uses the End-User Designer.&lt;br /&gt;&lt;/strong&gt;This was done to embed the PropertyGrid control from the XtraVerticalGrid Suite into the End-User Report Designer. Note that if you want to edit and recompile the end-user designer you will need licenses to the required products used in the designer or to DXperience WinForms, Enterprise, or Universal.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The obsolete XtraReport.HtmlCharSet property has been removed.&lt;br /&gt;&lt;/strong&gt;You should use the ExportOptions.Html.CharacterSet and ExportOptions.Mht.CharacterSet properties instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The obsolete XtraReport.HtmlCompressed property has been removed.&lt;br /&gt;&lt;/strong&gt;You should use the ExportOptions.Html.RemoveSecondarySymbols and ExportOptions.Mht.RemoveSecondarySymbols properties instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The obsolete XtraReportBase.RowIndex property has been removed.&lt;br /&gt;&lt;/strong&gt;You should use the CurrentRowIndex property instead.&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;The obsolete XtraReportBase.SortFields property has been removed.&lt;br /&gt;&lt;/strong&gt;You should use DetailBand&amp;#39;s SortFields property instead.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-scheduling.aspx"&gt;Breaking Changes part 2&lt;/a&gt; covering scheduling.&lt;br /&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-frameworks.aspx"&gt;Breaking Changes part 3&lt;/a&gt; covering XAF.&lt;br /&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2008/10/30/breaking-changes-for-dxperience-v2008-vol-3-miscellaneous.aspx"&gt;Breaking Changes part 4&lt;/a&gt; covering miscellaneous changes.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=240072" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Breaking+changes/default.aspx">Breaking changes</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraCharts/default.aspx">XtraCharts</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraGauges/default.aspx">XtraGauges</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraReports/default.aspx">XtraReports</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2008.3/default.aspx">v2008.3</category></item><item><title>DXperience v2008 vol 3: Conditional formatting in reports (WinForms and ASP.NET)</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/28/dxperience-v2008-vol-3-conditional-formatting-in-reports-winforms-and-asp-net.aspx</link><pubDate>Tue, 28 Oct 2008 17:45:46 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:239761</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=239761</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/28/dxperience-v2008-vol-3-conditional-formatting-in-reports-winforms-and-asp-net.aspx#comments</comments><description>&lt;p&gt;An oft-requested feature in XtraReports is the ability to print certain report controls in the report differently based on some formatting rule. The rule would (presumably) be based on the values in the record bound to that control.&lt;/p&gt; &lt;p&gt;As usual, a picture is worth a thousand words. In this report the rows that have an extended price greater than $1000 are shown with a light green background.&lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3Conditionalformat.NET_A563/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="155" alt="image" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3Conditionalformat.NET_A563/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;In essence, the way this works is that the report controls you drop on the report designer surface have a property called FormattingRules, a collection of formatting rule objects. A formatting rule has a condition -- that is, an expression using the fields that evaluates to true or false -- and a set of display formatting properties, such as font color, attributes, background color and so on. At report generation time, these rules are evaluated and if satisfied the data is printed using the display formatting options. Otherwise, the default printing options are used.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=239761" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraReports/default.aspx">XtraReports</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2008.3/default.aspx">v2008.3</category></item><item><title>DXperience v2008 vol 3: First page preview for reporting in WinForms</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/28/dxperience-v2008-vol-3-first-page-preview-for-reporting-in-winforms.aspx</link><pubDate>Tue, 28 Oct 2008 17:11:45 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:239757</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=239757</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/28/dxperience-v2008-vol-3-first-page-preview-for-reporting-in-winforms.aspx#comments</comments><description>&lt;p&gt;This is a cool feature that improves the user experience when generating preview reports on a lot of data. Until v2008.3, XtraReports used to generate the entire report before showing it to the end-user, and, in those cases when there was a lot of data to report on, this could take an appreciable amount of time and leave the user with an unresponsive program as the preview was being created.&lt;/p&gt; &lt;p&gt;In the new XtraReports, there&amp;#39;s an option to generate the first page of the report preview as before and display it immediately. Meanwhile another thread continues to generate the second and subsequent pages in the background. This gives the user control of the report and the program so that they can view it and page through it as normal. As the second thread produces pages to view, they become available to the end user.&lt;/p&gt; &lt;p&gt;Here&amp;#39;s a screenshot from the demo program showing this in action (the final report is over 2000 pages long).&lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3Firstpagepreviewforre_9D6B/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="155" alt="image" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3Firstpagepreviewforre_9D6B/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=239757" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraReports/default.aspx">XtraReports</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2008.3/default.aspx">v2008.3</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/reporting/default.aspx">reporting</category></item><item><title>DXperience v2008 vol 3: Bubble charts for WinForms and ASP.NET</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/28/dxperience-v2008-vol-3-bubble-charts-for-winforms-and-asp-net.aspx</link><pubDate>Tue, 28 Oct 2008 16:50:36 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:239752</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=239752</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/28/dxperience-v2008-vol-3-bubble-charts-for-winforms-and-asp-net.aspx#comments</comments><description>&lt;p&gt;Bubble charts are an interesting way of showing data that has a third dimensional component. You map two dimensions along the usual X and Y axes, and then the third dimension is displayed as a shape, usually a filled circle; hence, &amp;quot;bubble&amp;quot;) at the data point. The larger the shape the bigger the value.&lt;/p&gt; &lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3BubblechartsforWi.NET_9875/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="134" alt="image" src="http://community.devexpress.com/blogs/ctodx/WindowsLiveWriter/DXperiencev2008vol3BubblechartsforWi.NET_9875/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Because we humans have great difficulty in comparing the areas of two similar shapes of differing sizes -- it&amp;#39;s hard to see one area as twice another, for example -- it can be easy to distort the meaning of the data. This means that this kind of chart is best used as a quick visual hit of some interesting information, rather than a dense data-rich image.&lt;/p&gt; &lt;p&gt;The bubble chart in XtraCharts not only includes circles as the markers, but also shapes like squares, stars, triangles, and so on. You can specify the size of the smallest and largest marker for the chart (and again, this goes to the notion that information from bubble charts can be &amp;quot;manipulated&amp;quot; in some sense, hence that they&amp;#39;re best for a quick visual blast of information).&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=239752" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/XtraCharts/default.aspx">XtraCharts</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/Charting/default.aspx">Charting</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/v2008.3/default.aspx">v2008.3</category></item><item><title>CodeRush Xpress announced and available</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/27/coderush-xpress-announced-and-available.aspx</link><pubDate>Tue, 28 Oct 2008 01:29:00 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:239601</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=239601</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/27/coderush-xpress-announced-and-available.aspx#comments</comments><description>&lt;p&gt;We&amp;#39;ve just announced a new joint venture with Microsoft: &lt;a href="http://community.devexpress.com/blogs/markmiller/archive/2008/10/27/announcing-coderush-express-for-c.aspx" class="null"&gt;CodeRush Xpress&lt;/a&gt;. This is a set of navigation features of CodeRush and some of the more important refactorings in Refactor! Pro bundled together in a nice free download for C# developers.&lt;/p&gt;
&lt;p&gt;Did I say free?&lt;/p&gt;
&lt;p&gt;OK, just in case you missed it:&amp;nbsp;free.&lt;/p&gt;
&lt;p&gt;You can get it &lt;a href="http://devexpress.com/CodeRushX" class="null"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=239601" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/PDC+2008/default.aspx">PDC 2008</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/CodeRush+Xpress/default.aspx">CodeRush Xpress</category></item><item><title>Change the World -- The Product is Here!</title><link>http://community.devexpress.com/blogs/ctodx/archive/2008/10/27/change-the-world-the-product-is-here.aspx</link><pubDate>Tue, 28 Oct 2008 00:54:00 GMT</pubDate><guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:239597</guid><dc:creator>Julian M Bucknall</dc:creator><slash:comments>14</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.devexpress.com/blogs/ctodx/rsscomments.aspx?PostID=239597</wfw:commentRss><comments>http://community.devexpress.com/blogs/ctodx/archive/2008/10/27/change-the-world-the-product-is-here.aspx#comments</comments><description>&lt;p&gt;After months of prototyping, development, sheer hard work and some tonsorial activities, the time has finally come to reveal our new product. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/LaunchCap.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/LaunchCap.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://devexpress.com/helmet" class="null"&gt;&lt;/a&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/LaunchCap.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/ctodx/LaunchCap2.jpg"&gt;&lt;img border="0" src="http://community.devexpress.com/blogs/ctodx/LaunchCap2.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://devexpress.com/helmet" class="null"&gt;This video&lt;/a&gt; reveals the secrets and design behind the project. &lt;/p&gt;
&lt;p&gt;Call now: our representatives are ready to take your order.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://community.devexpress.com/blogs/ctodx/LaunchCap.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://community.devexpress.com/aggbug.aspx?PostID=239597" width="1" height="1"&gt;</description><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/PDC+2008/default.aspx">PDC 2008</category><category domain="http://community.devexpress.com/blogs/ctodx/archive/tags/DXHelmet/default.aspx">DXHelmet</category></item></channel></rss>