<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Perpetuum Software Blog » Reporting</title>
	
	<link>http://blogs.perpetuumsoft.com</link>
	<description>This blog is about proved and promising Microsoft technologies: .Net, ASP.Net, Silverlight, WPF, etc.</description>
	<lastBuildDate>Thu, 03 Feb 2011 09:56:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PerpetuumSoftBlog/category/reporting" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="perpetuumsoftblog/category/reporting" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>How to use widgets in Report Sharp-Shooter</title>
		<link>http://blogs.perpetuumsoft.com/dotnet/widgetsinreports/</link>
		<comments>http://blogs.perpetuumsoft.com/dotnet/widgetsinreports/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 06:46:10 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net components]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[.net reporting]]></category>
		<category><![CDATA[reporting tool]]></category>

		<guid isPermaLink="false">http://blogs.perpetuumsoft.com/?p=760</guid>
		<description><![CDATA[Saying that reports aren’t always eye catchy is a bit of an understatement. Sometimes they’re just dull and dreary pieces of writing, boring data spread across columns and rows. Those who don’t need it, escape to the next page.
But what if you want more than a mere glimpse from a hasty reader? What if you [...]]]></description>
			<content:encoded><![CDATA[<p>Saying that reports aren’t always eye catchy is a bit of an understatement. Sometimes they’re just dull and dreary pieces of writing, boring data spread across columns and rows. Those who don’t need it, escape to the next page.</p>
<p>But what if you want more than a mere glimpse from a hasty reader? What if you want to <em>propel the ideas</em> behind the data? Emphasize its importance?</p>
<p>Then a table is not enough – you need widgets.</p>
<h3>Problem statement</h3>
<p>In this post I’ll show a publicly available report and explain how to re-create it with Sharp-Shooter. So here goes our poster child: a NASA plot that reveals a rapid decline in the number of astrophysics missions. The dotted line means “today”, and it&#8217;s evident that the plethora of space observatories we’ve been enjoying lately, is pretty much going to stop by 2014:</p>
<div style="text-align: center; margin-top: 7px; margin-bottom: 7px;"><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic11.jpg" alt="" width="525" /></div>
<div style="clear: both;">
<p>Why re-creating this very report? First off, it’s interesting data about something that concerns your humble correspondent <img src='http://blogs.perpetuumsoft.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Secondly, it’s a challenging task to do in Sharp-Shooter. While building this plot, we’d have to solve several problems, e.g.:</p>
<ul>
<li>How to display composite headers and footers?</li>
<li>How to use bindings in Instrument Designer?</li>
<li>How to display and position images?</li>
<li>..and a few others</li>
</ul>
<p>Below go step by step instructions on creating the above report in Sharp-Shooter, and you can also go ahead and <a href="http://www.perpetuumsoft.com/sf/en/fls/slviewerforrs/Application.zip">download the full solution here</a>.</p>
<p><span id="more-760"></span></p>
<h3>Solution, step 1 of 2: preparing the report</h3>
<p>Let’s put aside data generation and just assume there’s some data source NasaMissions, which contains all the data we need – and concentrate on the look-and-feel of the report.</p>
<p>As we can see, NASA plot is naturally divided into 3 parts:</p>
<ol>
<li>Header with two-styled text.</li>
<li>Main part with mission name on the left hand side and a widget on the right hand side.</li>
<li>Footer with the timescale.</li>
</ol>
<p>We would start by adding a DataBand and setting its DataSource property to NasaMissions. This data band will become a container for report elements. Then, inside the data band we add Header component for the header, Detail component to show individual space missions, and Footer component to hold the ruler with years. After that, the report template will look like on the picture below (necessary buttons highlighted):</p>
<div style="text-align: center; margin-top: 7px; margin-bottom: 7px;"><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic2.png" alt="" width="525" /></div>
<p>What’s next? Creating content for the header and footer is easy so I’m leaving as an exercise to you, and instead will describe how to create the main section, where we display <em>mission name</em> and its<em> individual timeline.</em></p>
<p>That work will be done in detail1 component.</p>
<div>
<div style="width: 400px; float: left; text-align: left;">
<ul>
<li> The mission name part is rather straightforward: open “Data Sources” window, activate the “Data Sources” option, highlight Name and drag-n-drop it on the “Detail” section of the report.</li>
<li>Individual timelines will be created as a widget. First off, using the button <img class="alignnone size-full wp-image-766" src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic3.png" alt="" width="65" height="18" /> on the “Insert” tab, we put a widget on the detail1 component. Then resize it as we like and double click on the widget to kick off <em>Instrument Designer:</em> everything interesting will happen there.</li>
</ul>
</div>
<div style="text-align: right;"><img class="size-full wp-image-765" src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic31.png" alt="" width="200" /></div>
</div>
<div style="clear: both;">
<h3>Solution, step 2 of 2: creating the widget</h3>
</div>
<p>Once you start off Instrument Designer, you’re presented with an option to choose one of the predefined widgets. It might be a good idea to go through all of them and find the best fit, because it’s just easier to adjust something that already exists, rather than starting off from scratch.</p>
<p>In our widget we should do a number of things:</p>
<div style="text-align: center; margin-top: 7px; margin-bottom: 7px;">
<p><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic4.png" alt="" width="525" /></p>
</div>
<p>Let’s start with the predefined „Horizontal Interval Slider 1“ widget, which vaguely resembles our end result:</p>
<div style="text-align: center; margin-top: 7px; margin-bottom: 7px;"><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic5.png" alt="" width="525" /></div>
<p>Once you click OK, the designer will present you a number of sections:</p>
<ul>
<li><em>Preview of the widget in the center. </em>Useful if you want to know how your widget looks like <img src='http://blogs.perpetuumsoft.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li><em>Widget structure on the left hand side</em>. It’s often easier to navigate between the elements via this tree, rather than by clicking on them directly on the preview.</li>
<li><em>Element properties on the right hand side</em>. Changing color, size, position and umpteen of other options available.</li>
<li><em>Data bindings at the bottom</em>. Indispensable for dynamic properties – with them, you can, e.g., always display an element centered, or make its size relative to widget size, etc.</li>
</ul>
<div style="text-align: center; margin-top: 7px; margin-bottom: 7px;"><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic6.png" alt="" width="525" /></div>
<p>So, now we need to update the predefined widget: delete most of the elements, change color schema, introduce a scale with long ticks, turn the middle line into a horizontal bar, add a picture placeholder and do a bunch of other tweaks. Similar work should be done on the footer widget, which will display the timescale with years.</p>
<p>Nothing of that is particularly complicated, but I’d like to make a few quite general recommendations:</p>
<div>
<div style="width: 400px; float: left; text-align: left;">
<ol>
<li> Name the report items based on their meaning, not on their type. So, „spaceMission“ is better than „Instrument1“ and „timeline“ is better than „scale1“. It’s just easier to maintain a report with aptly named elements.</li>
<li>Use data binding to set dimentions of elements relative to those of their containers. With relative dimentions, resizing the widget will not mangle its view.</li>
</ol>
<p>An example of both suggestions is on the picture: elements are named to emphasize their meaning, and horizontal bar position is bound to the values of „start“ and „end“ scales.</p>
</div>
<div style="text-align: right;"><img class="alignnone size-full wp-image-770" src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic7.png" alt="" width="200" /></div>
</div>
<div style="clear: both;">The next step is displaying images of astrophysics missions. An absolute path for each image comes from the data source, and the report will try to render images under those paths. It’s also not too complicated, but idiosyncratic usability of Report Sharp-Shooter requires me to add few notes:</div>
<ul>
<li>To display an image on the widget you need to switch the right hand side view from Properties to Bindings by clicking on the corresponding icon. Then you’ll be able to set Image binding value, in our case it will be <em>System.Drawing.Image.FromFile((string)GetData(&#8220;NasaMissions.ImagePath&#8221;))</em>.</li>
<div style="text-align: center; margin-top: 7px; margin-bottom: 7px;"><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic8.png" alt="" /></div>
<li>To position an image you need a script. Scripts can be written in any .NET language (but make sure the report has its „Script Language“ property set to the language you plan to use) and writing scripts is a topic in itself, so for now I’d just share the resulting C# code for our scenario. This code should be put into GenerateScript property of the image element:<em>missionPicture.Location = new System.Drawing.PointF((float)800 +<br />
(float)((int)dataBand1["EndYear"] &#8211; 1990)*40, (float) missionPicture.Location.Y));</em></li>
</ul>
<p>Once you’re done in Instrument Designer, you need to apply the widget to the report template (and you might want to save the widget into .imk file for later use). <strong>Important note: to apply the widget to the report, you should click on the hard-to-notice OK button at the bottom of Instrument Designer.</strong> Otherwise you might waste quite some time wondering why all your changes are gone!</p>
<h3>Summary</h3>
<p>That’s pretty much it. We have gone through creating a custom widget in Report Sharp-Shooter, learned the basic report structure, got familiar with Instrument Designer and touched the issue of displaying and positioning images. The full code sample <a href="http://www.perpetuumsoft.com/sf/en/fls/slviewerforrs/Application.zip">can be downloaded here</a>.</p>
<p>Below you can see the final template and the resulting report:</p>
<div style="text-align: center; margin-top: 7px; margin-bottom: 7px;"><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic9.png" alt="" width="525" height="328" /></div>
<div style="text-align: center; margin-top: 7px; margin-bottom: 7px;"><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/02/pic10.png" alt="" width="525" height="308" /></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.perpetuumsoft.com/dotnet/widgetsinreports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Decreasing Discount February Sale! Be fast – Get Huge Discount!</title>
		<link>http://blogs.perpetuumsoft.com/silverlight/februarysale/</link>
		<comments>http://blogs.perpetuumsoft.com/silverlight/februarysale/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 08:43:12 +0000</pubDate>
		<dc:creator>Elena</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net components]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[.net reporting]]></category>
		<category><![CDATA[Silverlight reporting]]></category>

		<guid isPermaLink="false">http://blogs.perpetuumsoft.com/?p=755</guid>
		<description><![CDATA[
Looking how to save money on .Net and Silverlight components?
Take advantage of Perpetuum Software Decreasing Discount February Sale!
You have a unique opportunity to get the discount only for the DAY of purchase. The only thing you have to do is to purchase the license as soon as possible. The sooner you purchase the license the [...]]]></description>
			<content:encoded><![CDATA[<p><center><a href="http://www.perpetuumsoft.com/Product.aspx?pid=41&amp;tid=februarysale"><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/01/february_sale.png" alt="" title="february_sale" width="463" height="261" class="aligncenter size-full wp-image-756" /></a></center></p>
<p>Looking how to save money on .Net and Silverlight components?</p>
<p>Take advantage of Perpetuum Software <strong>Decreasing Discount February Sale</strong>!</p>
<p>You have a unique opportunity to get the discount only for the DAY of purchase. The only thing you have to do is to purchase the license as soon as possible. The sooner you purchase the license the greater discount you get. Every day of February you can get a discount which will be valid only for <strong>one exact day</strong>.</p>
<p>On the 1st of February you can get <strong>28% discount</strong> on Perpetuum Software products. Then each day the promotion will decrease by 1% according to the day of the month.</p>
<p>So, the greatest discount you get on the 1st of February and the smallest discount (only 1%) will be on the 28th of February.</p>
<p>The fastest get the greatest discounts! Be among them.</p>
<p>Please see additional information on Decreasing Discount February Sale on <a href="http://www.perpetuumsoft.com/">Perpetuum Software site</a> or e-mail to our <a href="mailto:sales@perpetuumsoft.com">sales representatives</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.perpetuumsoft.com/silverlight/februarysale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight Viewer for Reporting Services is reviewed by Code Magazine!</title>
		<link>http://blogs.perpetuumsoft.com/silverlight/codemagazine/</link>
		<comments>http://blogs.perpetuumsoft.com/silverlight/codemagazine/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 08:06:11 +0000</pubDate>
		<dc:creator>Elena</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight reporting]]></category>
		<category><![CDATA[SSRS]]></category>

		<guid isPermaLink="false">http://blogs.perpetuumsoft.com/?p=746</guid>
		<description><![CDATA[
Silverlight Viewer for Reporting Services by Perpetuum Software has been reviewed in the CODE Magazine – an advanced technology magazine for Microsoft-oriented developers and technical managers, focused on providing in-depth information to the .NET community. 
Each bi-monthly issue of CODE Magazine contains detailed and very practical explanations of Visual Studio .NET and the .NET Framework, [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2011/01/Code_Madazine.jpg" alt="" title="Code_Madazine" width="372" height="280" class="aligncenter size-full wp-image-747" /></center></p>
<p><a href="http://www.perpetuumsoft.com/Silverlight-Viewer-for-Reporting-Services.aspx"><strong>Silverlight Viewer for Reporting Services</strong></a> by Perpetuum Software has been reviewed in the <strong>CODE Magazine</strong> – an advanced technology magazine for Microsoft-oriented developers and technical managers, focused on providing in-depth information to the .NET community. </p>
<p>Each bi-monthly issue of CODE Magazine contains detailed and very practical explanations of Visual Studio .NET and the .NET Framework, as well as other Microsoft technologies and developer tools. Written by developers who actually use the tools they write about, CODE Magazine is the trusted source of information for working developers seeking to complete their latest software development projects.</p>
<p>One of the articles of the January/February issue of the CODE Magazine highlights the use of <strong>SQL Server Reporting Services in Silverlight applications</strong>, and of course, this topic cannot be fully covered without telling about Perpetuum’s Silverlight Viewer for Reporting Services since it is the unique product on the market which provides the ability to view Reporting Services reports in Silverlight applications without using any workarounds and limitations.</p>
<p>Exclusively for the readers of CODE Magazine, Perpetuum Software has prepared the unique offer: buying or renewing the subscription for CODE Magazine you get a license for Silverlight Viewer for Reporting Services absolutely <strong>FREE of charge</strong>:<br />
<a href="http://www.codemag.com/subscribe/prs2011">www.codemag.com/subscribe/prs2011</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.perpetuumsoft.com/silverlight/codemagazine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to build interactive sorting and grouping using Report Sharp-Shooter scripting engine.</title>
		<link>http://blogs.perpetuumsoft.com/dotnet/dynamicsorting/</link>
		<comments>http://blogs.perpetuumsoft.com/dotnet/dynamicsorting/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 10:22:51 +0000</pubDate>
		<dc:creator>Elena</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net components]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[.net reporting]]></category>
		<category><![CDATA[reporting tool]]></category>

		<guid isPermaLink="false">http://blogs.perpetuumsoft.com/?p=721</guid>
		<description><![CDATA[by Fakhru Rahman, Perpetuum Software customer





// 



Scripting engine in Report Sharp-Shooter allow us to create interactive report.
In this example we will create report in which the user can sort and group via script on the fly.




In order to do this, I have created an extended ReportViewer, you can download the source code here.
This is how [...]]]></description>
			<content:encoded><![CDATA[<p>by Fakhru Rahman, Perpetuum Software customer</p>
<table>
<tbody>
<tr>
<td>
<div style="float: right; padding-top: 16px; margin-right: 24px;">
<p><script type="text/javascript">// <![CDATA[
                    tweetmeme_service = "bit.ly"; tweetmeme_source = "PerpetuumSoft"; tweetmeme_url = "http://blogs.perpetuumsoft.com/dotnet/dynamicsorting/";
// ]]&gt;</script></p>
<p><script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"></script></p>
</div>
</td>
<td>Scripting engine in <a href="http://www.perpetuumsoft.com/Report-Sharp-Shooter.aspx"><strong>Report Sharp-Shooter</strong></a> allow us to create interactive report.<br />
In this example we will create report in which the user can sort and group via script on the fly.
</td>
</tr>
</tbody>
</table>
<p>In order to do this, I have created an extended ReportViewer, you can download the source code <a href="http://www.perpetuumsoft.com/sf/en/fls/rss/RSSExample.zip"><strong>here</strong></a>.</p>
<p>This is how our final report looks:<br />
<img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2010/12/Final_small.png" alt="" title="Final_small" width="450" height="275" class="aligncenter size-full wp-image-734" /></p>
<p><span id="more-721"></span>Create winform application using Visual Studio, then add a class, we will fill this class with dummy data, I named this class <strong>Data</strong>:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> Data<br />
<span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">long</span> _townId<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">long</span> _cityId<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span> _town<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span> _city<span style="color: #008000;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">long</span> TownId<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _townId<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set <span style="color: #008000;">&#123;</span> _townId <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">long</span> CityId<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _cityId<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set <span style="color: #008000;">&#123;</span> _cityId <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> Town<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _town<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set <span style="color: #008000;">&#123;</span> _town <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> City<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _city<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set <span style="color: #008000;">&#123;</span> _city <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> Data<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">public</span> Data<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">long</span> _townId, <span style="color: #6666cc; font-weight: bold;">long</span> _cityId, <span style="color: #6666cc; font-weight: bold;">string</span> _town, <span style="color: #6666cc; font-weight: bold;">string</span> _city<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span>_townId <span style="color: #008000;">=</span> _townId<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span>_cityId <span style="color: #008000;">=</span> _cityId<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span>_town <span style="color: #008000;">=</span> _town<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span>_city <span style="color: #008000;">=</span> _city<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span></div></div>
<p>Next, drag ReportManager into main form, and create a new InlineReport,</p>
<p><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2010/12/ReportManager_small.png" alt="" title="ReportManager_small" width="450" height="398" class="aligncenter size-full wp-image-736" /></p>
<p>and drag BindingSource component from toolbox. Name it <strong>BSCity</strong> or whatever you like, in the DataSource property of <strong>BSCity</strong></p>
<p><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2010/12/Add-DataSource1.png" alt="" title="Add-DataSource" width="258" height="545" class="aligncenter size-full wp-image-737" /></p>
<p>Now we need to set report source to this BindingSource, double click reportmanager to open ReportManager Editor Form, and select BindingSource that we created earlier on Data Sources tab:</p>
<p><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2010/12/Set-Report-DataSource_small.png" alt="" title="Set-Report-DataSource_small" width="450" height="283" class="aligncenter size-full wp-image-738" /></p>
<p>Next switch to design mode of RSS, and design something similar to this (for more detail, please check the source code):</p>
<p><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2010/12/Report_small.png" alt="" title="Report_small" width="450" height="286" class="aligncenter size-full wp-image-739" /></p>
<p>We need to create parameter, so we can change this report behavior from our winform code, in the dropdown property choose document1 and add 2 parameter in<br />
parameters property with ParameterType is System.String, name it <strong>__GROUP__</strong> and <strong>__SORT__</strong>.</p>
<p><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2010/12/Parameters_small.png" alt="" title="Parameters_small" width="450" height="280" class="aligncenter size-full wp-image-740" /></p>
<p>Still on document1 properties select Generate Script property and insert this code:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #008080; font-style: italic;">// get data from report parameter</span><br />
_sort <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetParameter</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;__SORT__&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">as</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">;</span><br />
_group <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetParameter</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;__GROUP__&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">as</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">;</span><br />
<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">InitSort</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></div></div>
<p>We havent create <strong>InitSort</strong> method yet, so in the Common Script property of document1 write this code:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #008080; font-style: italic;">// initialize variable</span><br />
<span style="color: #6666cc; font-weight: bold;">string</span> _group <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span><br />
<span style="color: #6666cc; font-weight: bold;">string</span> _sort <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span><br />
<span style="color: #6666cc; font-weight: bold;">string</span> _sortDirection <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> InitSort<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><br />
<span style="color: #008000;">&#123;</span><br />
&nbsp; <span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">!</span><span style="color: #6666cc; font-weight: bold;">String</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #008000;">&#40;</span>_sort<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><br />
&nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> sortData <span style="color: #008000;">=</span> _sort<span style="color: #008000;">.</span><span style="color: #0000FF;">Split</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">','</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; _sort <span style="color: #008000;">=</span> sortData<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; dataBand1<span style="color: #008000;">.</span><span style="color: #0000FF;">Sort</span><span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Order</span> <span style="color: #008000;">=</span> sortData<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;ASC&quot;</span> <span style="color: #008000;">?</span> PerpetuumSoft<span style="color: #008000;">.</span><span style="color: #0000FF;">Reporting</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Data</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Groupping</span><span style="color: #008000;">.</span><span style="color: #0000FF;">SortOrder</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Ascending</span><span style="color: #008000;">:</span>PerpetuumSoft<span style="color: #008000;">.</span><span style="color: #0000FF;">Reporting</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Data</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Groupping</span><span style="color: #008000;">.</span><span style="color: #0000FF;">SortOrder</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Descending</span><span style="color: #008000;">;</span><br />
&nbsp; <span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span></div></div>
<p>This method will set <em>SortOrder</em> for dataBand1 based on parameter <strong>__SORT__</strong>.<br />
Now, we need to set Sort Expression in dataBand1, click on the Sort property of dataBand1 and add item to Collection Editor, set Expression value to <strong>SortExpression()</strong>.<br />
SortExpression is a method for sorting, we haven&#8217;t create it, so return to <em>Common Script</em> property of <em>document1</em> and append this code:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">object</span> SortExpression<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><br />
<span style="color: #008000;">&#123;</span><br />
&nbsp; <span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #008000;">&#40;</span>_sort<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span><br />
&nbsp; <span style="color: #0600FF; font-weight: bold;">else</span><br />
&nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">switch</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span>_sort<span style="color: #008000;">.</span><span style="color: #0000FF;">ToLower</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">case</span> <span style="color: #666666;">&quot;city&quot;</span><span style="color: #008000;">:</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> GetData<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Cities.City&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">case</span> <span style="color: #666666;">&quot;town&quot;</span><span style="color: #008000;">:</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> GetData<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Cities.Town&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">default</span><span style="color: #008000;">:</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; <span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span></div></div>
<p>This code will return sort expression based on value of _sort (from parameter <strong>__SORT__</strong>).</p>
<p>Final thing we should do in Report designer is to create code for dynamic grouping, select <em>groupBand1</em> from properties combo and set GroupExpression to<br />
<strong>GroupExpression()</strong>, we need to create this method so once more time append this code on <em>document1</em> Common Script:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">object</span> GroupExpression<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><br />
<span style="color: #008000;">&#123;</span><br />
&nbsp; <span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #008000;">&#40;</span>_group<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Empty</span><span style="color: #008000;">;</span><br />
&nbsp; <span style="color: #0600FF; font-weight: bold;">else</span><br />
&nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">switch</span><span style="color: #008000;">&#40;</span>_group<span style="color: #008000;">.</span><span style="color: #0000FF;">ToLower</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">case</span> <span style="color: #666666;">&quot;cityid&quot;</span><span style="color: #008000;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> GetData<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Cities.CityId&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">default</span><span style="color: #008000;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Empty</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; <span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span></div></div>
<p>Validate script and save.<br />
Next, in Visual Studio, select <em>inlineReportSlot1</em>, go to event and create code for RenderComplete event, here is the code:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0600FF; font-weight: bold;">private</span> PreviewFormExt _frm<span style="color: #008000;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> RenderCompleted<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> sender, EventArgs e<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>_frm <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _frm <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> PreviewFormExt<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">// Add group</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _frm<span style="color: #008000;">.</span><span style="color: #0000FF;">AddGroup</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;City&quot;</span>, <span style="color: #666666;">&quot;CityId&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">// Add sort</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _frm<span style="color: #008000;">.</span><span style="color: #0000FF;">AddSort</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Town&quot;</span>, <span style="color: #666666;">&quot;Town&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _frm<span style="color: #008000;">.</span><span style="color: #0000FF;">AddSort</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;City&quot;</span>, <span style="color: #666666;">&quot;City&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _frm<span style="color: #008000;">.</span><span style="color: #0000FF;">ReportSource</span> <span style="color: #008000;">=</span> inlineReportSlot1<span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _frm<span style="color: #008000;">.</span><span style="color: #0000FF;">ShowDialog</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">else</span> <span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">!</span>_frm<span style="color: #008000;">.</span><span style="color: #0000FF;">Visible</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _frm<span style="color: #008000;">.</span><span style="color: #0000FF;">ShowDialog</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span></div></div>
<p>Later add button, then on click event with this code:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">BSCity<span style="color: #008000;">.</span><span style="color: #0000FF;">Clear</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">// fill with dummy source</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BSCity<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Data<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> TownId <span style="color: #008000;">=</span> <span style="color: #FF0000;">1</span>, Town <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Jeffersontown&quot;</span>, CityId <span style="color: #008000;">=</span> <span style="color: #FF0000;">1</span>, City <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Kentucky&quot;</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BSCity<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Data<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> TownId <span style="color: #008000;">=</span> <span style="color: #FF0000;">2</span>, Town <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Frankfort&quot;</span>, CityId <span style="color: #008000;">=</span> <span style="color: #FF0000;">1</span>, City <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Kentucky&quot;</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BSCity<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Data<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> TownId <span style="color: #008000;">=</span> <span style="color: #FF0000;">3</span>, Town <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Clinton&quot;</span>, CityId <span style="color: #008000;">=</span> <span style="color: #FF0000;">2</span>, City <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;New Jersey&quot;</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BSCity<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Data<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> TownId <span style="color: #008000;">=</span> <span style="color: #FF0000;">4</span>, Town <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Westfield&quot;</span>, CityId <span style="color: #008000;">=</span> <span style="color: #FF0000;">3</span>, City <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;New Jersey&quot;</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BSCity<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> Data<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> TownId <span style="color: #008000;">=</span> <span style="color: #FF0000;">5</span>, Town <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Woodstock&quot;</span>, CityId <span style="color: #008000;">=</span> <span style="color: #FF0000;">3</span>, City <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;New York&quot;</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; inlineReportSlot1<span style="color: #008000;">.</span><span style="color: #0000FF;">Prepare</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></div></div>
<p>Run your code to see the result.</p>
<p><a href="http://www.perpetuumsoft.com/Downloads.aspx?lang=en&#038;pid=21">Download Report Sharp-Shooter&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.perpetuumsoft.com/dotnet/dynamicsorting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Become Perpetuum Software Blog Friend!</title>
		<link>http://blogs.perpetuumsoft.com/silverlight/perpetuumsoftfriends/</link>
		<comments>http://blogs.perpetuumsoft.com/silverlight/perpetuumsoftfriends/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 05:26:02 +0000</pubDate>
		<dc:creator>Elena</dc:creator>
				<category><![CDATA[.Net components]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[.net reporting]]></category>
		<category><![CDATA[Reporting Services in Silvelright]]></category>
		<category><![CDATA[Silverlight reporting]]></category>

		<guid isPermaLink="false">http://blogs.perpetuumsoft.com/?p=718</guid>
		<description><![CDATA[




// 



Our dear friends – Silverlight and .Net geeks!
At the end of this year Perpetuum Software wants to start a new program which will help you in your Silverlight and .Net research.





Take part in our new program: Perpetuum Software Blog Friends! Put your ideas up to Perpetuum Software community and get the following advantages:

Your blog [...]]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td>
<div style="float: right; padding-top: 16px; margin-right: 24px;">
<p><script type="text/javascript">// <![CDATA[
         tweetmeme_service = "bit.ly"; tweetmeme_source = "PerpetuumSoft"; tweetmeme_url = "http://blogs.perpetuumsoft.com/silverlight/perpetuumsoftfriends/";
// ]]&gt;</script></p>
<p><script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"></script></p>
</div>
</td>
<td>Our dear friends – Silverlight and .Net geeks!</p>
<p>At the end of this year Perpetuum Software wants to start a new program which will help you in your Silverlight and .Net research.
</td>
</tr>
</tbody>
</table>
<p><center><a href="http://twitter.com/PerpetuumSoft"><img src="http://www.perpetuumsoft.com/sf/en/ims/company/blog_friends.jpg" alt="Silverlight blogging" /></a></center></p>
<p>Take part in our new program: <strong>Perpetuum Software Blog Friends</strong>! Put your ideas up to Perpetuum Software community and get the following advantages:</p>
<ol>
<li>Your blog to our Blogroll section on Perpetuum Technical Blog. </li>
<li>Sponsorship of your blog meetings, competitions and contests with free licenses for Perpetuum Software Products. </li>
<li>Your articles on our blog. </li>
<li>Money donations for most active bloggers.</li>
</ol>
<p>For your part, we wait:</p>
<ol>
<li>A review or an article about the functionality of <a href="http://www.perpetuumsoft.com/Products.aspx"><strong>Perpetuum Software LLC products</strong></a>.</li>
<li>Mentioning Perpetuum Software LLC on your blog.</li>
</ol>
<p>We believe that upcoming year will be more successful for our friends and will allow them to realize their full potential with our help!</p>
<p>Let us help you in your work! <a href="http://www.perpetuumsoft.com/Product.aspx?pid=41&#038;tid=blogfriends"><strong>Take part in our Perpetuum Software Blog Friends program!</strong></a><br />
<em><br />
Merry Christmas and Happy New Year!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.perpetuumsoft.com/silverlight/perpetuumsoftfriends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Development of Perpetuum’s products for Silverlight 5!</title>
		<link>http://blogs.perpetuumsoft.com/silverlight/silverlight5/</link>
		<comments>http://blogs.perpetuumsoft.com/silverlight/silverlight5/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 07:06:48 +0000</pubDate>
		<dc:creator>Elena</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight reporting]]></category>

		<guid isPermaLink="false">http://blogs.perpetuumsoft.com/?p=715</guid>
		<description><![CDATA[




// 



Past months Silverlight community buzzed like a disturbed beehive. The news that Microsoft is „shifting its Silverlight strategy“ and going full forward to embrace HTML 5 as its cross-browser cross-platform solution cut a splash among developers and IT specialists.





But, this panic about “Silverlight is Dead” was premature. At the beginning of December, all the [...]]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td>
<div style="float: right; padding-top: 16px; margin-right: 24px;">
<p><script type="text/javascript">// <![CDATA[
         tweetmeme_service = "bit.ly"; tweetmeme_source = "PerpetuumSoft"; tweetmeme_url = "http://blogs.perpetuumsoft.com/silverlight/silverlight5/";
// ]]&gt;</script></p>
<p><script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"></script></p>
</div>
</td>
<td>Past months Silverlight community buzzed like a disturbed beehive. The news that Microsoft is „shifting its Silverlight strategy“ and going full forward to embrace HTML 5 as its cross-browser cross-platform solution cut a splash among developers and IT specialists.
</td>
</tr>
</tbody>
</table>
<p><center><img src="http://www.perpetuumsoft.com/sf/en/ims/company/Silverlight5.png" alt="Silverlight controls" /></center></p>
<p>But, this panic about “Silverlight is Dead” was premature. At the beginning of December, all the myths about Silverlight future were shattered. New features of Silverlight 5 were announced on <a href="http://www.silverlight.net/news/events/firestarter/">Silverlight Firestarter event</a>. </p>
<p>Improvements in Silverlight 5 will deal with media support and UI capabilities, rich application development environment that enables you to build great business applications. The precise description on these features can be seen on <a href="http://www.microsoft.com/silverlight/future/">Microsoft Silverlight site</a>.</p>
<p>In connection with this Perpetuum Software LLC starts the development of its products according Silverlight 5 functionality. Report Sharp-Shooter for Silverlight and Silverlight Viewer for reporting Services are two products intended for the creation of feature-rich corporate applications in Silverlight. </p>
<p>These components has already proved themselves as flexible reliable native Silverlight controls which address the most sophisticated demands of up-to-date technologies. Silverlight 5 will allow us to improve:</p>
<ol>
<li>Printing in Silverlight Viewer. There will be available full-fledge vector printing.</li>
<li>Text rendering.</li>
<li>Performance of text output.</li>
</ol>
<p>We believe that this key functionality will considerably increase components productivity and provide our clients with more abilities in RIA creation and, as a result, business success. </p>
<p>If you have any suggestions please post them on our <a href="http://www.perpetuumsoft.com/Forums.aspx"><strong>forum</strong></a>. Your opinion will help us to develop solution exactly for you!</p>
<p><a href="http://www.perpetuumsoft.com/Downloads.aspx"><strong>Download Report Sharp-Shooter for Silverlight and Silverlight Viewer for Reporting Services…<br />
</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.perpetuumsoft.com/silverlight/silverlight5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Work With New Functionality of Silverlight Viewer for Reporting Services 2.6.</title>
		<link>http://blogs.perpetuumsoft.com/silverlight/workwithparameters/</link>
		<comments>http://blogs.perpetuumsoft.com/silverlight/workwithparameters/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 06:13:54 +0000</pubDate>
		<dc:creator>Elena</dc:creator>
				<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Reporting Services in Silvelright]]></category>
		<category><![CDATA[Silverlight reporting]]></category>
		<category><![CDATA[SSRS]]></category>

		<guid isPermaLink="false">http://blogs.perpetuumsoft.com/?p=695</guid>
		<description><![CDATA[




// 



Perpetuum Software is proud to announce the next release of Silverlight Viewer for Reporting Services 2.6 – a native Silverlight control for output of SQL Server Reporting Services reports in Silverlight applications.



I’ve already described the features of this release in the previous post. In this post I will describe how to work with such [...]]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td>
<div style="float: right; padding-top: 16px; margin-right: 24px;">
<p><script type="text/javascript">// <![CDATA[
                   tweetmeme_service = "bit.ly"; tweetmeme_source = "PerpetuumSoft"; tweetmeme_url = "http://blogs.perpetuumsoft.com/silverlight/workwithparameters/";
// ]]&gt;</script></p>
<p><script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"></script></p>
</div>
</td>
<td>Perpetuum Software is proud to announce the next release of <a href="http://www.perpetuumsoft.com/Silverlight-Viewer-for-Reporting-Services.aspx"><strong>Silverlight Viewer for Reporting Services 2.6</strong></a> – a native Silverlight control for output of SQL Server Reporting Services reports in Silverlight applications.</td>
</tr>
</tbody>
</table>
<p>I’ve already described the features of this release in the previous post. In this post I will describe how to work with such new features of Silverlight Viewer for Reporting Services 2.6 as customization of parameters visibility and check of parameters values input by the user.</p>
<ul>
<li>So, how to customize parameter visibility.</li>
</ul>
<p>In order to change parameter visibility, you need to subscribe to the ParameterVisibilityChanging event of the ReportViewer object in the parameters toolbar. You should change the visibility value for the parameter in the event handler.<br />
For example:</p>
<p><span id="more-695"></span></p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">reportViewer<span style="color: #008000;">.</span><span style="color: #0000FF;">ParameterVisibilityChanging</span> <span style="color: #008000;">+=</span> <span style="color: #008000;">new</span> EventHandler<br />
<span style="color: #008000;">&lt;</span>span<span style="color: #008000;">&gt;</span> <span style="color: #008000;">&lt;/</span>span<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span>reportViewer_ParameterVisibilityChanging<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #6666cc; font-weight: bold;">void</span> reportViewer_ParameterVisibilityChanging<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> sender, ParameterVisibilityChangingEventArgs e<span style="color: #008000;">&#41;</span><br />
<span style="color: #008000;">&#123;</span><br />
<span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>e<span style="color: #008000;">.</span><span style="color: #0000FF;">ParametersCollection</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><br />
<span style="color: #008000;">&#123;</span><br />
<span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span>var item <span style="color: #0600FF; font-weight: bold;">in</span> e<span style="color: #008000;">.</span><span style="color: #0000FF;">ParametersCollection</span><span style="color: #008000;">&#41;</span><br />
<span style="color: #008000;">&#123;</span><br />
<span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>item<span style="color: #008000;">.</span><span style="color: #0000FF;">Nullable</span><span style="color: #008000;">&#41;</span><br />
item<span style="color: #008000;">.</span><span style="color: #0000FF;">Visibility</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span><br />
<span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span></div></div>
<p>On the picture below, you can see report generation without hiding the parameters:</p>
<p><img class="aligncenter size-full wp-image-702" title="picture1" src="http://blogs.perpetuumsoft.com/wp-content/uploads/2010/12/picture1.jpg" alt="" width="400" height="326" /></p>
<p>And this picture shows report generation with checking if null value is possible:</p>
<p><img class="aligncenter size-full wp-image-705" title="picture2" src="http://blogs.perpetuumsoft.com/wp-content/uploads/2010/12/picture2.jpg" alt="" width="400" height="325" /></p>
<ul>
<li>And the second feature is the ability to check parameters values</li>
</ul>
<p>If you need to check parameters values entered by the user in the parameters toolbar, all you have to do is to subscribe to the ParametersProcessing event of the ReportViewer object.</p>
<p>For example:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">reportViewer<span style="color: #008000;">.</span><span style="color: #0000FF;">ParametersProcessing</span> <span style="color: #008000;">+=</span> <span style="color: #008000;">new</span> EventHandler<span style="color: #008000;">&lt;</span>ParametersProcessingEventArgs<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span>reportViewer_ParametersProcessing<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></div></div>
<p>You can check and change the report parameters values in the event handler. You can continue or cancel the document rendering if parameters values are entered incorrectly. In order the user could change the incorrect values you can set the ShowParametersPanel property of the ParametersProcessingEventArgs object equal to true. In this case the parameters toolbar won’t be hidden.  </p>
<p>For example:</p>
<div class="codecolorer-container csharp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>e<span style="color: #008000;">.</span><span style="color: #0000FF;">Collection</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span>p <span style="color: #008000;">=&gt;</span> p<span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;ReportParameter3&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e<span style="color: #008000;">.</span><span style="color: #0000FF;">Collection</span><span style="color: #008000;">.</span><span style="color: #0000FF;">First</span><span style="color: #008000;">&#40;</span>p <span style="color: #008000;">=&gt;</span> p<span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;ReportParameter3&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Value</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;value from code&quot;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>e<span style="color: #008000;">.</span><span style="color: #0000FF;">Collection</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">&#40;</span>p <span style="color: #008000;">=&gt;</span> p<span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;ReportParameter4&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #6666cc; font-weight: bold;">int</span> param4Value <span style="color: #008000;">=</span> <span style="color: #6666cc; font-weight: bold;">int</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Parse</span><span style="color: #008000;">&#40;</span>e<span style="color: #008000;">.</span><span style="color: #0000FF;">Collection</span><span style="color: #008000;">.</span><span style="color: #0000FF;">First</span><span style="color: #008000;">&#40;</span>p <span style="color: #008000;">=&gt;</span> p<span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;ReportParameter4&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">!</span><span style="color: #008000;">&#40;</span>param4Value <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">&amp;&amp;</span> param4Value <span style="color: #008000;">&lt;</span> <span style="color: #FF0000;">10</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e<span style="color: #008000;">.</span><span style="color: #0000FF;">CancelRender</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e<span style="color: #008000;">.</span><span style="color: #0000FF;">ShowParametersPanel</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ChildWindow1 frm <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> ChildWindow1<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; frm<span style="color: #008000;">.</span><span style="color: #0000FF;">Show</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span></div></div>
<p>In the example, you can see change of the value of the «ReportParameter3» parameter and check of the correctness of the value of the «ReportParameter4» parameter. If the «ReportParameter4» parameter value is correct, the document rendering will continue. If the «ReportParameter4» parameter value is incorrect, the parameters toolbar and the message about incorrect parameter value will be shown.</p>
<p>Entering parameters values:</p>
<p><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2010/12/picture3.jpg" alt="" title="picture3" width="400" height="325" class="aligncenter size-full wp-image-707" /></p>
<p>Message about incorrect parameter value:</p>
<p><img src="http://blogs.perpetuumsoft.com/wp-content/uploads/2010/12/picture4.jpg" alt="" title="picture4" width="400" height="325" class="aligncenter size-full wp-image-708" /></p>
<p>In this post, I described how to use only two of new Silverlight Viewer for Reporting Services 2.6 features. As you can see this is very simple. Besides the improvements in work with parameters, we added drillthrough action in charts, new abilities in work with localization and so on. </p>
<p>The precise description of Silverlight Viewer for Reporting Services 2.6 release you can see on <a href="http://www.perpetuumsoft.com/Product.aspx?lang=en&#038;pid=116&#038;tid=history">Perpetuum Software site</a>. And how to work with this new functionality you can know from our <a href="http://helpcenter.perpetuumsoft.com/KB/c24/silverlight-viewer-for-reporting-services.aspx">Knowledge Base</a>.</p>
<p><a href="http://www.perpetuumsoft.com/Downloads.aspx?lang=en&#038;pid=116"><strong>Download Silverlight Viewer for Reporting Services 2.6…</strong><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.perpetuumsoft.com/silverlight/workwithparameters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Follow the @PerpetuumSoft account and get 40% discount on your purchase!</title>
		<link>http://blogs.perpetuumsoft.com/silverlight/christmasdiscount/</link>
		<comments>http://blogs.perpetuumsoft.com/silverlight/christmasdiscount/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 05:20:46 +0000</pubDate>
		<dc:creator>Elena</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net components]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[.net reporting]]></category>
		<category><![CDATA[Reporting Services in Silvelright]]></category>
		<category><![CDATA[Silverlight reporting]]></category>

		<guid isPermaLink="false">http://blogs.perpetuumsoft.com/?p=691</guid>
		<description><![CDATA[




// 



Christmas is almost here!
Warm greetings, pleasant presents and holiday spirit.





Perpetuum Software LLC congratulates everybody on this great holiday and wants to give presents to all our loyal customers.
We want to be in touch with you, to know about your projects and your success. And the most convenient way to stay in touch is Twitter.
Perpetuum [...]]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td>
<div style="float: right; padding-top: 16px; margin-right: 24px;">
<p><script type="text/javascript">// <![CDATA[
         tweetmeme_service = "bit.ly"; tweetmeme_source = "PerpetuumSoft"; tweetmeme_url = "http://blogs.perpetuumsoft.com/silverlight/christmasdiscount/";
// ]]&gt;</script></p>
<p><script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"></script></p>
</div>
</td>
<td>Christmas is almost here!</p>
<p>Warm greetings, pleasant presents and holiday spirit.
</td>
</tr>
</tbody>
</table>
<p><center><a href="http://twitter.com/PerpetuumSoft"><img src="http://www.perpetuumsoft.com/sf/en/ims/company/twitterblog.png" alt=".Net reporting tool" /></a></center></p>
<p>Perpetuum Software LLC congratulates everybody on this great holiday and wants to give presents to all our loyal customers.</p>
<p>We want to be in touch with you, to know about your projects and your success. And the most convenient way to stay in touch is Twitter.</p>
<p>Perpetuum Software LLC presents <strong>20% discount</strong> on the purchase of any of our products to every follower of @PerpetuumSoft account. Just follow us and you will be able to save considerable sum on the purchase of .Net and Silverlight tools for reporting systems, data visualization and OLAP analysis. With our components your business will prosper!</p>
<p><strong>Want to save more money?</strong></p>
<p>We are ready to assist you in this. Tweet the message with #NetReporting hashtag and get <strong>additional 20%</strong> as a discount.</p>
<p>So, to get <strong>40% discount</strong> on purchase of Perpetuum Software products you need:</p>
<ul>
<li>Follow the <a href="http://twitter.com/PerpetuumSoft"><strong>@PerpetuumSoft</strong></a> account on your Twitter account.</li>
<li>From your Twitter account, tweet the message referencing to us with #NetReporting tag.</li>
</ul>
<p>To get more information on this Christmas offer please follow the <a href="http://www.perpetuumsoft.com/Product.aspx?pid=41&#038;tid=christmasoffer"><strong>link</strong></a>.</p>
<p>We wish you a Merry Christmas and a Happy New Year!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.perpetuumsoft.com/silverlight/christmasdiscount/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drillthrough Action in Charts in Silverlight Viewer for Reporting Services.</title>
		<link>http://blogs.perpetuumsoft.com/silverlight/drillthroughinslforrs/</link>
		<comments>http://blogs.perpetuumsoft.com/silverlight/drillthroughinslforrs/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 04:53:38 +0000</pubDate>
		<dc:creator>Elena</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Reporting Services in Silvelright]]></category>
		<category><![CDATA[Silverlight reporting]]></category>
		<category><![CDATA[SSRS]]></category>

		<guid isPermaLink="false">http://blogs.perpetuumsoft.com/?p=688</guid>
		<description><![CDATA[




// 



Silverlight Viewer for Reporting Services has recommended itself as a convenient tool for displaying SQL Server Reporting Services reports in Silverlight applications. Each release of this product is aimed at the improvement of reports representation in the viewer and extending the viewer’s functionality.





At the moment Perpetuum Software development team is working on the next [...]]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td>
<div style="float: right; padding-top: 16px; margin-right: 24px;">
<p><script type="text/javascript">// <![CDATA[
         tweetmeme_service = "bit.ly"; tweetmeme_source = "PerpetuumSoft"; tweetmeme_url = "http://blogs.perpetuumsoft.com/silverlight/drillthroughinslforrs/";
// ]]&gt;</script></p>
<p><script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"></script></p>
</div>
</td>
<td><a href="http://www.perpetuumsoft.com/Product.aspx?pid=116&#038;tid=overview"><strong>Silverlight Viewer for Reporting Services</strong></a> has recommended itself as a convenient tool for displaying SQL Server Reporting Services reports in Silverlight applications. Each release of this product is aimed at the improvement of reports representation in the viewer and extending the viewer’s functionality.
</td>
</tr>
</tbody>
</table>
<p><center><img src="http://www.perpetuumsoft.com/sf/en/ims/company/SV_RS_drill_through.gif" alt="Silverlight viewer for Reporting Services" /></center></p>
<p>At the moment Perpetuum Software development team is working on the next release of this product which will be available in December, 2010. The upcoming release features the <strong>drillthrough action for charts</strong> created in SQL Server Reporting Services. Actions defined in the chart provide drillthrough links to reports that display greater details based on the aggregate in the main report. Now, you can easily find the needed information in the report via chart in Silverlight application.</p>
<p>Besides that, a new version of Silverlight Viewer for Reporting Services allows the passing of the client localization to the server. This means that you will be able to display reports in Silverlight in the language you need, thus, all the language barriers will be crashed.</p>
<p>To achieve the maximum identity in reports display in Report Viewer and Silverlight Viewer, we added such features as:</p>
<ul>
<li>Display of the table grid;</li>
<li>Display of the string with hidden cells.</li>
</ul>
<p>To make the product more convenient in work we added the possibility to get the parameters from the code and customize parameters visibility.</p>
<p>We are welcome any suggestions and comments on Silverlight Viewer for Reporting Services on our <a href="http://www.perpetuumsoft.com/Forum.aspx?forum=SLforRS08"><strong>forum</strong></a>.</p>
<p><a href="http://www.perpetuumsoft.com/Downloads.aspx?lang=en&#038;pid=116">Download and evaluate this powerful tool for display of SSRS reports in Silverlight. </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.perpetuumsoft.com/silverlight/drillthroughinslforrs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evaluate Silverlight Viewer Features with New On-Line Demos</title>
		<link>http://blogs.perpetuumsoft.com/silverlight/silverlightviewerdemos/</link>
		<comments>http://blogs.perpetuumsoft.com/silverlight/silverlightviewerdemos/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 06:32:59 +0000</pubDate>
		<dc:creator>Elena</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Reporting Services in Silvelright]]></category>
		<category><![CDATA[Silverlight reporting]]></category>
		<category><![CDATA[SSRS]]></category>

		<guid isPermaLink="false">http://blogs.perpetuumsoft.com/?p=680</guid>
		<description><![CDATA[




// 



Perpetuum Software LLC has updated on-line demos for Report Sharp-Shooter for Silverlight and Silverlight Viewer for Reporting Services.





These updated demos allow you to test drive many features of the new products version without the need to install them. 
Report Sharp-Shooter for Silverlight on-line demo includes such new feature as export options dialog which allows [...]]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td>
<div style="float: right; padding-top: 16px; margin-right: 24px;">
<p><script type="text/javascript">// <![CDATA[
         tweetmeme_service = "bit.ly"; tweetmeme_source = "PerpetuumSoft"; tweetmeme_url = "http://blogs.perpetuumsoft.com/silverlight/silverlightviewerdemos/";
// ]]&gt;</script></p>
<p><script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"></script></p>
</div>
</td>
<td>Perpetuum Software LLC has updated on-line demos for <a href="http://www.perpetuumsoft.com/Report-Sharp-Shooter-for-Silverlight.aspx">Report Sharp-Shooter for Silverlight</a> and <a href="http://www.perpetuumsoft.com/Product.aspx?pid=116&#038;tid=overview">Silverlight Viewer for Reporting Services</a>.
</td>
</tr>
</tbody>
</table>
<p><center><a href="http://www.perpetuumsoft.com/sf/en/ims/company/RSS_pdf_dialog.jpg"><img src="http://www.perpetuumsoft.com/sf/en/ims/company/RSS_pdf_dialog.jpg" alt="Silverlight Viewer" /></a></center></p>
<p>These updated demos allow you to test drive many features of the new products version without the need to install them. </p>
<p>Report Sharp-Shooter for Silverlight on-line demo includes such new feature as <strong>export options dialog</strong> which allows the setting of export parameters on the fly. The dialog is analogous to a Win Forms dialog, and provides user friendly interface for selection of the needed options during export to PDF and Excel.</p>
<p>Silverlight Viewer for Reporting Services on-line demo provides the ability to use new <strong>thumbnails and bookmarks tree</strong> in the reports.</p>
<p>Everything is going to work inside a web browser, with a couple of clicks. </p>
<p>Evaluate <a href="http://www.perpetuumsoft.com/Demo/slviewer/default.aspx"><strong>Report Sharp-Shooter for Silverlight</strong></a> and <a href="http://www.perpetuumsoft.com/demo/RSViewer_v2/"><strong>Silverlight Viewer for Reporting Services</strong></a> on-line without spending time on product installation.     </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.perpetuumsoft.com/silverlight/silverlightviewerdemos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

