<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>RandyCrews.com</title>
	<atom:link href="http://randycrews.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://randycrews.com</link>
	<description>I like code, you like code, we all like code</description>
	<lastBuildDate>Wed, 18 Apr 2012 10:07:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='randycrews.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>RandyCrews.com</title>
		<link>http://randycrews.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://randycrews.com/osd.xml" title="RandyCrews.com" />
	<atom:link rel='hub' href='http://randycrews.com/?pushpress=hub'/>
		<item>
		<title>Optimize your UI code by loading element properties through Arrays with jQuery</title>
		<link>http://randycrews.com/2012/04/18/propertyarray/</link>
		<comments>http://randycrews.com/2012/04/18/propertyarray/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 09:55:52 +0000</pubDate>
		<dc:creator>randallC</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[UI Design]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://randycrews.com/?p=78</guid>
		<description><![CDATA[Developing UI layouts can at times seem redundant but also offer a number of challenges to both the designer and/or developer.  As a developer I&#8217;m always faced with the challenge of writing efficient code and looking for ways to re-factor code so &#8230; <a href="http://randycrews.com/2012/04/18/propertyarray/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=78&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Developing UI layouts can at times seem redundant but also offer a number of challenges to both the designer and/or developer.  As a developer I&#8217;m always faced with the challenge of writing efficient code and looking for ways to re-factor code so that I can re-use it as often as possible. This may sound &#8220;geek&#8221; to my designer brethren out there but in reality the same principles apply and I would challenge designers to look to using the same principles. Let&#8217;s take a look at how we can optimize some of our UI elements and code with arrays.<span id="more-78"></span></p>
<p>All too often I see javascript/jQuery written for common task over and over in what I would claim to be an inefficient manner.  For example let&#8217;s take a scenario where I have two pages within my site and based upon the site design I need to insert at the top of each page an expanding section that will contain instructions on how to use the tools within the current page. To do this I&#8217;ll set my html as follows:</p>
<p><strong>HTML Code</strong></p>
<p><pre class="brush: css;">
&lt;div&gt;
   &lt;h3&gt;Manage agency shares&lt;/h3&gt;
      &lt;br /&gt;
        &lt;div class=&quot;instructionslide&quot; id=&quot;1&quot; &gt;
            Instructions&lt;/div&gt;
        &lt;div class=&quot;instructions&quot;&gt;
           &lt;ul&gt;
               &lt;li&gt;Some instructions&lt;/li&gt;
               &lt;li&gt;Some more instructions &lt;/li&gt;
           &lt;/ul&gt;
        &lt;/div&gt;
        &lt;hr /&gt;
</pre></p>
<p>Fairly basic layout with two DIV elements. The first will serve as my button that the user can click on to expand the second Div element. You&#8217;ll notice I alos have CSS classes applied to each DIV element for some basic styling. The CSS looks similar to this:</p>
<p><strong>CSS</strong></p>
<p><pre class="brush: css;">

.instructions
{
 margin: 5px;
 height: 0px;
 font-size: .9em;
 margin-left: auto;
 margin-right: auto;
}

.instructionslide
{
 font-size: 1.1em;
 font-weight: bold;
 margin-left: auto;
 margin-right: auto;
 cursor: pointer;
}

</pre></p>
<p>Notice within the instructions class I have the height set by default to zero. I can manage the animation or height of the panel by injecting into the css a run-time a new height via jQuery via some code similar to this:</p>
<p><pre class="brush: css; light: true;">
$('.instructions').animate({ &quot;height&quot;: &quot;200px&quot; }, 'slow');
</pre></p>
<p>Do you see the problem developing? If not I&#8217;ll give you a hint. What this is leading to is a new jQuery function or call for each new window that has a different height requirement. If   your site has a fixed size and we know for dead certain that the height will never vary then this may not be an issue. But what if you have a page that has a need for the height to be 100px and on the next page 300px. The result could be a bloated js file where the designer is creating a new function to just change one property.</p>
<p>We can correct this by actually creating an array within our js file and then loading the appropriate property based upon a specified ID.</p>
<p><pre class="brush: css;">
//expander window used for instructions
$(document).ready(function () {

    /*create a string array to store various window sizes then based upon the attribute id of the element
    load the apporaiate array value*/
    var winHeight = [&quot;220px&quot;,
                     &quot;100px&quot;,
                     &quot;90px&quot;];

    $(function () {
        $('.instructions').hide();
    });

    $('.instructionslide').click(function () {
        var cssProp = winHeight[$(this).attr('id')];

        if ($('.instructions').is(':hidden')) {
            $('.instructions').show();
            $('.instructions').animate({ &quot;height&quot;: cssProp }, 'slow');
        }
        else {
            $('.instructions').hide(&quot;slow&quot;);
            $('.instructions').animate({ &quot;height&quot;: &quot;0px&quot; }, 'slow');
        }
    });

    $('.instruction-close').click(function () {
        $('.instructions').hide();
        $('.instructions').animate({ &quot;height&quot;: &quot;0px&quot; }, 'slow');
    });
});
</pre></p>
<p>For this part I&#8217;m not going to focus on the jQuery expansion but more on the Array and how we can reference it.</p>
<p>At the beginning of the js file I created an Array with three properties:</p>
<p><pre class="brush: css; first-line: 6;">
var winHeight = [&quot;220px&quot;,
                     &quot;100px&quot;,
                     &quot;90px&quot;];
</pre></p>
<p>We detect and access the click events within the html by using the class as the selector within our jQuery. By doing this it frees up the Id attribute that I can now use it to carry a value.</p>
<p><pre class="brush: css; first-line: 4;">
&lt;div class=&quot;instructionslide&quot; id=&quot;1&quot; &gt;
</pre></p>
<p>This value is then used within my jQuery file to detect which array value I want to reference.  As a note, remember that an Array always starts with Zero [0, 1, 2, 3 ...]</p>
<p>Now let&#8217;s look at the last two parts of the code that makes this work. On the click event of the DIV element  we first create a new variable call cssProp.  cssProp is being set to the current value of the position of our array. This value within the array is determined by looking to the current element (the DIV element) and retreiving the value from the ID attribute.</p>
<p><pre class="brush: css; first-line: 14;">
$('.instructionslide').click(function () {
        var cssProp = winHeight[$(this).attr('id')];
</pre></p>
<p>We can now dynamically set the height of our DIV element by simply calling the cssProp value in our code.</p>
<p><pre class="brush: css; first-line: 14;">
$('.instructions').animate({ &quot;height&quot;: cssProp }, 'slow');
</pre></p>
<p>What we gain by this is a reduction of code we have to write through code re-use. This also supports maintenance of the function down the road as we now have it in one location.</p>
<p>Array&#8217;s are incredibly powerful when used in conjunction with css styling for a site and you&#8217;re not just limited to a basic one property value as I outlined above.  Let&#8217;s take a quick look at how we can set multiple values within the array for our Ui elements.</p>
<p>In this example I want to open a pop-up window within my site.  Based upon my site requirements I may need to manage the various attributes of the pop-up window for different pages (height, width, resizable&#8230; etc) Let&#8217;s take a look:</p>
<p><pre class="brush: css;">
var windowPropertyArray = [&quot;width=550, height=600, scrollbars=yes, menubar=no, resizable=no, status=no, toolbar=no&quot;,
                               &quot;width=500, height=600&quot;];

    $('.am_LinkButton').click(function (event) {
        var url = $(this).attr(&quot;href&quot;) + &quot;?ID=&quot; + $(this).attr(&quot;rel&quot;);
        var windowName = &quot;window&quot;;
        var windowProp = windowPropertyArray[$(this).attr(&quot;tag&quot;)];
        //prevents browser from firing default action for window.open allows js to work
        if (event.preventDefault) {
            event.preventDefault();
        }
        else {
            event.returnValue = false;
        }

        window.open(url, windowName, windowProp);
    });
});
</pre></p>
<p>Within this example I am passing an entire string of parameters to my window.open function. As a result this allows me to control the window size and properties for various click events.</p>
<p>Happy Coding!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/discovercsharp.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/discovercsharp.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/discovercsharp.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/discovercsharp.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/discovercsharp.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/discovercsharp.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/discovercsharp.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/discovercsharp.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/discovercsharp.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/discovercsharp.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/discovercsharp.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/discovercsharp.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/discovercsharp.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/discovercsharp.wordpress.com/78/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=78&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://randycrews.com/2012/04/18/propertyarray/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99c1ea6412c3ed6cb77bd2ac8f3f04c9?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Randy C</media:title>
		</media:content>
	</item>
		<item>
		<title>Sharing crystal report files outside of Crystal</title>
		<link>http://randycrews.com/2011/02/08/sharing-crystal-report-files-outside-of-crystal/</link>
		<comments>http://randycrews.com/2011/02/08/sharing-crystal-report-files-outside-of-crystal/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 21:34:35 +0000</pubDate>
		<dc:creator>randallC</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Report Writing]]></category>

		<guid isPermaLink="false">http://randycrews.com/?p=65</guid>
		<description><![CDATA[One of the most common questions I get asked when training / consulting clients on Crystal Reports is. &#8220;Can I share my report with others so that they can run the report?&#8221; In the past I have always pointed them &#8230; <a href="http://randycrews.com/2011/02/08/sharing-crystal-report-files-outside-of-crystal/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=65&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of the most common questions I get asked when training / consulting clients on Crystal Reports is. &#8220;Can I share my report with others so that they can run the report?&#8221; In the past I have always pointed them to a few options. Export the report as a PDF or Excel file, Share the report with the Crystal report Viewer, or for the larger clients use Crystal Enterprise  to share the report. All three solutions while viable have their limitations. Exporting looses drill down features or the ability to refresh the data. The CR Viewer while it supports drill down does not support the refreshing of data. Then there is Crystal Enterprise&#8230; well we&#8217;ll just leave it at that ( Maybe it should be Enterpri$$e).</p>
<p>Well I am happy to say that in reading a recent newsletter from ( a personally respected and favorite resource) Ken Hamady <a href="http://kenhamady.com/cru/">http://kenhamady.com/cru/</a> I saw mention of a third-party viewer which supports the refreshing of data / parameters within the Viewer.  The viewer mentioned is the Data Link Viewer.  Which allows users to run reports without having the ability to open the RPT files in the designer.  I found this was a great and much welcome feature as the DLV also  the report by creating in essence a read only file which protects proprietary business calculations, as well as prevents unwanted tampering of the report.</p>
<p>More info on the DLV and other cool crystal report add-in&#8217;s can be found at:  <a href="http://www.milletsoftware.com/">http://www.milletsoftware.com/</a></p>
<p>Happy Reporting!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/discovercsharp.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/discovercsharp.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/discovercsharp.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/discovercsharp.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/discovercsharp.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/discovercsharp.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/discovercsharp.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/discovercsharp.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/discovercsharp.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/discovercsharp.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/discovercsharp.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/discovercsharp.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/discovercsharp.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/discovercsharp.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=65&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://randycrews.com/2011/02/08/sharing-crystal-report-files-outside-of-crystal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99c1ea6412c3ed6cb77bd2ac8f3f04c9?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Randy C</media:title>
		</media:content>
	</item>
		<item>
		<title>Accessing JQuerry or other scripts within MasterPages</title>
		<link>http://randycrews.com/2010/12/14/accessing-jquerry-or-other-scripts-within-masterpages/</link>
		<comments>http://randycrews.com/2010/12/14/accessing-jquerry-or-other-scripts-within-masterpages/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 15:37:55 +0000</pubDate>
		<dc:creator>randallC</dc:creator>
				<category><![CDATA[ASP.NET AJAX]]></category>

		<guid isPermaLink="false">http://randycrews.com/?p=60</guid>
		<description><![CDATA[I&#8217;ll preface this with the fact that I dabble in ASP.NET. It&#8217;s not my passion but I do enjoy working with it from time to time. As with anything this language is susceptible to the &#8220;use it or lose it&#8221; &#8230; <a href="http://randycrews.com/2010/12/14/accessing-jquerry-or-other-scripts-within-masterpages/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=60&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll preface this with the fact that I dabble in ASP.NET. It&#8217;s not my passion but I do enjoy working with it from time to time. As with anything this language is susceptible to the &#8220;use it or lose it&#8221; paradigm which I often experience between projects.  To this point I was hooking up a basic site the other day and the UI designer had provided me with a template of how the basic site should work from a UX standpoint. My role was to take this as the starting point and then flesh out the rest of the site with the business logic/code needed for the web app. <span id="more-60"></span></p>
<p><strong> Where did I place that reference?</strong></p>
<p>I started out by using masterpages to store some of the common elements such as the header and footer of the page, CSS files etc. However in this project UI designer had used JQuery to dictate the look navigation of the sites main toolbar. As I added my references to the JS files and compiled the site I found that at run time the references to the paths were being lost in the masterpage.The end result&#8230; broken nav aka no access to the JQuery library from master pages.</p>
<p><strong>The solution:</strong></p>
<p>The solution lies within the use of the ASP.NET Script manager tags. When working with ASP.NET remember that server-side controls are renamed as they are rendered this is why when we view source we see ct100_text&#8230;.. Through the use of the scriptmanager we can help to ensure that the references to library files or other resources is not lost during the compiling of the page. </p>
<p>In my example I was able to point to the JQuery libraries by using the ScriptManager  as follows:</p>
<p><pre class="brush: plain;">
&lt;asp:ScriptManager ID=&quot;ScriptManager&quot; runat=&quot;server&quot;&gt;

&lt;Scripts&gt;

&lt;asp:ScriptReference Path=&quot;~/Scripts/jquery-1.4.2.min.js&quot; /&gt;

&lt;asp:ScriptReference Path=&quot;~/Scripts/jquery-ui-1.8.6.custom.min.js&quot; /&gt;

&lt;/Scripts&gt;

&lt;/asp:ScriptManager&gt;

</pre></p>
<p><span style="color:#333333;">Be sure to remember that the script manager tag has to be placed within side of a FORM tag. So don&#8217;t add this to the header place it within the body of the html. </span></p>
<p><span style="color:#333333;">Of course there are many other uses for the script manager especially with regards to AJAX. However for those of you who have tried to use JS files or other scripting syntax within masterpages to no avail. Hopefully this will help.. Happy coding!</span></p>
<p><span style="color:#333333;">For more information on the ScriptManager check out: <a href="http://msdn.microsoft.com/en-us/magazine/cc163354.aspx#S5">http://msdn.microsoft.com/en-us/magazine/cc163354.aspx#S5</a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/discovercsharp.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/discovercsharp.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/discovercsharp.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/discovercsharp.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/discovercsharp.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/discovercsharp.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/discovercsharp.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/discovercsharp.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/discovercsharp.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/discovercsharp.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/discovercsharp.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/discovercsharp.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/discovercsharp.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/discovercsharp.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=60&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://randycrews.com/2010/12/14/accessing-jquerry-or-other-scripts-within-masterpages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99c1ea6412c3ed6cb77bd2ac8f3f04c9?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Randy C</media:title>
		</media:content>
	</item>
		<item>
		<title>Debugging Silverlight within a web app</title>
		<link>http://randycrews.com/2010/11/01/debugging-silverlight-within-a-web-app/</link>
		<comments>http://randycrews.com/2010/11/01/debugging-silverlight-within-a-web-app/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 16:36:43 +0000</pubDate>
		<dc:creator>randallC</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://randycrews.com/?p=50</guid>
		<description><![CDATA[When developing a Silverlight application the debugging of the app is pretty straight forward when you are working within the Silverlight solution/ project. But what about when you need to debug or &#8220;step-through the Silverlight application&#8221; from within your ASP.NET solution.  Visual &#8230; <a href="http://randycrews.com/2010/11/01/debugging-silverlight-within-a-web-app/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=50&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When developing a Silverlight application the debugging of the app is pretty straight forward when you are working within the Silverlight solution/ project. But what about when you need to debug or &#8220;step-through the Silverlight application&#8221; from within your ASP.NET solution.  Visual Studio 2010 actually makes this quite easy to accomplish. Once you have added the Silverlight project or embedded the XAP file within your ASP.NET solution you can enable debugging of the Silverlight application by doing the following:</p>
<ol>
<li>From within the ASP.NET solution right-mouse click on the solution title nd select properties</li>
<li>Navigate to the Web tab within the properties window</li>
<li>Ensure that the Silverlight check box is enabled in the Debugger section</li>
<li>Save the project properties</li>
<li>Happy De-bugging</li>
</ol>
<p><a rel="attachment wp-att-51" href="http://randycrews.com/2010/11/01/debugging-silverlight-within-a-web-app/sldebug/"><img class="size-medium wp-image-51 alignleft" title="Debug SL from ASP.NET" src="http://discovercsharp.files.wordpress.com/2010/11/sldebug.png?w=300&#038;h=215" alt="Enable Debug mode for Silverlight app from ASP.NET project" width="300" height="215" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/discovercsharp.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/discovercsharp.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/discovercsharp.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/discovercsharp.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/discovercsharp.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/discovercsharp.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/discovercsharp.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/discovercsharp.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/discovercsharp.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/discovercsharp.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/discovercsharp.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/discovercsharp.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/discovercsharp.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/discovercsharp.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=50&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://randycrews.com/2010/11/01/debugging-silverlight-within-a-web-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99c1ea6412c3ed6cb77bd2ac8f3f04c9?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Randy C</media:title>
		</media:content>

		<media:content url="http://discovercsharp.files.wordpress.com/2010/11/sldebug.png?w=300" medium="image">
			<media:title type="html">Debug SL from ASP.NET</media:title>
		</media:content>
	</item>
		<item>
		<title>Wrapping up the report writing workshop</title>
		<link>http://randycrews.com/2010/10/06/wrapping-up-the-report-writing-workshop/</link>
		<comments>http://randycrews.com/2010/10/06/wrapping-up-the-report-writing-workshop/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 12:40:15 +0000</pubDate>
		<dc:creator>randallC</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Report Writing]]></category>
		<category><![CDATA[ad-hoc]]></category>
		<category><![CDATA[crystal]]></category>
		<category><![CDATA[crystal reports]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[report design]]></category>
		<category><![CDATA[reports]]></category>

		<guid isPermaLink="false">http://randycrews.com/?p=46</guid>
		<description><![CDATA[One of the most intimidating parts of the crstyal report application is writing and using formulas. People tend to cring at the thought of having to write a formula to transform data within the report. Within this post I've included a few useful formuals that I think everyone should have under their report writing belt. <a href="http://randycrews.com/2010/10/06/wrapping-up-the-report-writing-workshop/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=46&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s Wednesday and I&#8217;m moving into the final leg of my report writing workshop. The week is flying by and I always feel as if there is never enough time to teach my clients all that I want to about the Crystal Report API embedded in our product.  Never the less, we are forging ahead today and diving deeper into the component by introducing formulas. While I could easily take an entire week to just train my clients on formulas and all the cool things we can do with them in reports I only have two 1 /1/2 hour sessions to introduce them to formulas. </p>
<p>With that being said, I&#8217;m including in this post a short pdf file that will help get most people started with a few basic (need to know) formulas.  While there are a ton of formulas available and the manner in which we use the formulas can seem to be endless I always feel as if there are a few basic formulas and operators that everyone should know.   Of course there&#8217;s always more to come and if you have questions or comments feel free to shoot them my way. I&#8217;ll respond as time allows and attempt to address most questions through the blog in an effort to help the community as a whole.</p>
<p><a rel="attachment wp-att-47" href="http://randycrews.com/2010/10/06/wrapping-up-the-report-writing-workshop/usefulforumulasforreports/">Useful formulas for reports</a></p>
<p>Happy reporting!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/discovercsharp.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/discovercsharp.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/discovercsharp.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/discovercsharp.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/discovercsharp.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/discovercsharp.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/discovercsharp.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/discovercsharp.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/discovercsharp.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/discovercsharp.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/discovercsharp.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/discovercsharp.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/discovercsharp.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/discovercsharp.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=46&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://randycrews.com/2010/10/06/wrapping-up-the-report-writing-workshop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99c1ea6412c3ed6cb77bd2ac8f3f04c9?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Randy C</media:title>
		</media:content>
	</item>
		<item>
		<title>Are you really ready to create that report</title>
		<link>http://randycrews.com/2010/10/04/are-you-really-ready-to-create-that-report/</link>
		<comments>http://randycrews.com/2010/10/04/are-you-really-ready-to-create-that-report/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 23:40:33 +0000</pubDate>
		<dc:creator>randallC</dc:creator>
				<category><![CDATA[Report Writing]]></category>
		<category><![CDATA[crystal reports]]></category>
		<category><![CDATA[report design]]></category>
		<category><![CDATA[reports]]></category>

		<guid isPermaLink="false">http://randycrews.com/?p=39</guid>
		<description><![CDATA[When first learning to create reports one of the biggest mistakes you can make is diving into the report development process withought fully understanding the requirments. Take the time and use these best practices to minimize your development time by maximizing your design time. <a href="http://randycrews.com/2010/10/04/are-you-really-ready-to-create-that-report/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=39&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> If you’re new to report writing/creation then this post is certainly for you. Maybe you just started writing reports or worse yet you just attended a report writing workshop and now because you’ve “had some training” you are instantly perceived as the report guru at your office.  Of course you should be able to generate a report on nothing more than a brief description right?  The fact is you’re probably sitting there nodding your head and recalling that first time you were asked to create a report. Once the nausea passes and the cold clammy sweat dried from your palms you&#8217;ll have the realization that you had no idea where to start.  Like most, you’ll just dive head first into the task and begin linking tables and dropping fields on the report in the hope to have the report finished before lunch. If this is your regular approach, STOP. What I’m about to share with you will save you time, reduce your stress and help you design and deploy professional looking reports.<span id="more-39"></span></p>
<p><strong>So really… what’s the rush?</strong></p>
<p>The first step in designing a professional report is to not rush into the development stage.  That’s right, put the mouse down, step away from the computer and think about what you are getting yourself into. Seriously, when creating a report you need to understand that there are multiple stages (similar to an applications life cycle) of the report creation process. I often describe this <em>“report life cycle”</em> in four stages. They are as follows:</p>
<p><strong>Design</strong> – this is the most crucial stage. At this point you collect and gather all resources needed for the report. At this stage you shouldn’t even touch your report writing application. Here you’re doing good old investigative work to collect all the requirements of the report.</p>
<p><strong>Development</strong> &#8211; At this stage you begin building the report. You’ve successfully collected all the information needed and now you are simply putting the pieces in place to generate the report. </p>
<p><strong>Review/Revisions</strong> – If you can develop a report and submit it to the requesting originator and not receive any corrects or request for change then one of three things has happened. 1) They have not looked at the report, 2) You where the person requesting the report, or 3) you got extremely lucky.   While it can and does happen you need to prepare yourself for the fact that the first version of your new report will be just that “Revision 1”. Change requests will come in; people will want to see different slices of data or variations of the original report. This stage can in some instances be indefinite if you don’t properly plan for them. Don’t worry I’ll show you how to mitigate this stage as well.</p>
<p><strong>Maintenance</strong> – At this stage the report has been deployed and you may only need to conduct occasional maintenance on the visual elements of the report or make a minor tweak here or there.  </p>
<p>Where first time report designers usually gets into trouble is they often skip the design stage. We receive a request for a report and lickety-split we just head right into development mode in an effort to start cranking out that report. As a result, we can only hope for hours of frustration, and numerous revisions since we did not take the time to properly understand the report requirements.</p>
<p><strong>Ask why… Ask why once more … and then Ask Why Again!</strong></p>
<p>I can’t recall where I originally heard this statement but I can tell you that you can apply it to a number of things in life both personal and professional. Of course, you need to use some common sense when asking this question (say around your spouse or boss) but I have found that when someone asks you to do something for them if you ask them why they need it, AND you ask them why three times you’ll actually learn the real reason which may be different from their initial request.</p>
<p>Let’s go through a quick scenario….</p>
<p>Someone comes to you and asks you to create a report that shows all sales for last month. Do you jump right in and start building that report? NO, you <span style="text-decoration:underline;">should</span> say “Okay, you want a report for last month’s sales, why? Normally, you’ll get a funny look and THEN you’ll get a different answer&#8230; Well I was just in a meeting, and Jane wanted to know how the sales from last month compared to the prior month.  Ah ha! Asking why twice has resulted in a different answer. At this time you may feel safe to start building the report but I’ll tell you, ask why one more time…. “Okay so you don’t need just the data from last month you want to see a comparison to the prior month’s sales. And why do you need to see that data?” *</p>
<p><em>*Note: be aware that at this time the originator of the request could become agitated.  If it is a person of high authority they may turn red and then begin to yell. Just remember to stand strong and weather the storm.</em></p>
<p>Upon being asked a third time chances are someone (and it’s not you) is getting irritated. However, you’ll probably also get a different reply (something along these lines)…. “Just create the #*&amp;@ report! Jane has a meeting coming up with the executive team and we need to see where sales are at for the past three months! Jane needs to know which stores are meeting the monthly sales quota and which ones are exceeding the quota.  Whoa! Did that just happen? Yeah, it did and I can guarantee you that if you continue to ask why you’ll continue to drill down into the real cause and need for the report.</p>
<p>I cannot tell you the times I have seen this happen. From the law enforcement side I’ve heard the same request/ and similar scenario:</p>
<p><em>Tom I need you to create an arrest report.</em></p>
<p>-          <em>Why do you need an arrest report?</em></p>
<p><em>I need to see how many arrests occurred last month.</em></p>
<p>-          <em>Why do you need to see the number of arrests that occurred last month?</em></p>
<p><em>I need to see how many misdemeanors and felony arrests occurred in the downtown area last month.</em></p>
<p>While it won’t always be this straight forward, the point I am trying to stress is that before you begin planning the development of any report “Ask Why” the person needs the report. The more information (aka requirements) you can collect, the better chances you will have of actually developing a report that they need or more importantly, developing the report that they want.</p>
<p><strong>Details, details, details…</strong></p>
<p>Learning the true nature of the report is only the first part of the design process. Next we need to actually plan the layout of the report. Now let me preface this by stating that the planning stage does take some time and it is a process that you will refine and develop to suit your own needs over time. The main thing is to be consistent and start out with a basic template or set of guidelines that you can follow when planning the design of the report.</p>
<p>When planning the report here are a few useful questions that you can incorporate into your planning process. <em>Remember you are the investigator trying to understand the nature,  purpose and even layout of the report.</em></p>
<ul>
<li>Who is the report for? – Is this report for internal or external use? Will it be viewed by the executive team or will it be used for quick analytical tasks. Is this a media report that will be distributed to the public?</li>
<li>What data elements need to be in this report? – Given, most of these fields can be determined based upon asking “Why do they want you to create the report”. It may also help to ask:</li>
<li>Would you like to group anything?
<ul>
<li>Date range ( week, bi-weekly, monthly yearly)</li>
<li>Names</li>
<li>Departments</li>
<li>Codes</li>
<li>Would you like the groups to be in ascending or descending order?</li>
<li>Do you need to print this report out? If so, landscape or portrait or do you have another format in mind?</li>
<li>Do you need to count or summarize anything?  (Hint: If so, you must have a group )</li>
<li>Do you need to see grand totals? (Does not need a group as it counts the total number of records in a report)</li>
<li>Should there be any headers or logos on this report?</li>
<li>Do you want to visually identify certain values? (Example: change the font color or background color on a section if a value is too high or too low or of a certain type)</li>
<li>Do you want to see data represented in a chart or graph?</li>
<li>Would you like to be able to filter date within the report (Hint: you may filter by any element in the database. The field does not necessarily be visible or used within the report&#8230; more on this in later posts)?</li>
<li>How should this report be delivered (native report format, PDF, TXT, HTML, etc.)</li>
</ul>
</li>
</ul>
<p>Questions you as the designer need to ask yourself:</p>
<ul>
<li>Do you know what data source you are going to reference when building the report?</li>
<li>Do you have access to this data source?</li>
<li>What database fields should be used?</li>
<li>Do you need to make the form dynamic so that the user may change their search criteria?</li>
<li>Will this report require the user of more than one report (sub-reports)?</li>
</ul>
<p>Once you have all this information collected the last and final step that I would suggest is that you sketch out a rough outline of what the report should look like. Do this on a piece of paper, use a word processing application to mock-up something etc. The more visual layout you can address up front the better off you will be.  In some instances you may find through the sketch you may find that a certain layout just will not work or that you need to create additional groups based upon the requirements.</p>
<p><strong>Summary</strong></p>
<p>I’ll hold off on drilling into the last two sections of the report life cycle for now as I wanted this to stress the importance of planning our your report. While this may initially seem as a tedious and almost juvenile process to follow I can assure that the more planning and investigative tactics you can apply before you even begin connecting to data sources the more time you will gain on the back-end during the actual development of the report.</p>
<p>For those new to report creation I’ll leave you with this one statement. No failed attempt at a report was ever the result of a well-planned report. </p>
<p>Happy report writing!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/discovercsharp.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/discovercsharp.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/discovercsharp.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/discovercsharp.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/discovercsharp.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/discovercsharp.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/discovercsharp.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/discovercsharp.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/discovercsharp.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/discovercsharp.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/discovercsharp.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/discovercsharp.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/discovercsharp.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/discovercsharp.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=randycrews.com&amp;blog=14576732&amp;post=39&amp;subd=discovercsharp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://randycrews.com/2010/10/04/are-you-really-ready-to-create-that-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99c1ea6412c3ed6cb77bd2ac8f3f04c9?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Randy C</media:title>
		</media:content>
	</item>
	</channel>
</rss>
