Wednesday, February 27, 2013

SSRS - Setting up your development environment

I needed to start working on a few SSRS reports for a current project.  My new development is currently being done using VS2012.  I am still getting use to the interface, for normal web development I find 2012 to be an improvement over VS2010.  The only exception to this is I find the TFS integration to be more difficult to use in VS2012 than in VS2010.  So if I am editing work item templates or working with queries a lot I still  have 2010 running on my laptop most of the time.

I quickly learned that 2012 just like 2010 does not support BIDS.  If you want to build SSRS reports you must step back to VS2008.  So I cracked open VS2008, the oldest version I keep installed on my laptop, and started a new report. I went to check in my report to my TFS 2010 server and found that I do not even have a team menu.  I forgot that VS2008 does not come installed with TFS has a Team Viewer download that must be installed separately so I downloaded it from MSDN.  So I downloaded it and installed it from

Team Viewer Download
http://www.microsoft.com/en-us/download/details.aspx?id=16338

The next step was to connect to TFS.  I opened up the Team Menu and figured out my VS2008 did not have SP1 instaled so I downloaded that also.

VS2008 SP1
http://www.microsoft.com/en-us/download/details.aspx?id=20955

Finally because I was running TFS2010 I needed a compatibility pack downloaded from

TFS 2010 VS2008 Compatability Pack
http://www.microsoft.com/en-us/download/details.aspx?id=10834

I thought I was well on my way.  But I opened up the team menu and tried to connect to my TFS and it would not connect.  After some playing around I figured out you must type in the whole address to your TFS server to make it work.  The UI does not tell you this, but it will not work without doing the whole address

For Example http://tfsserver:8080/tfs

Happy Report Building with VS2008 and TFS2010





SQL Server Reporting Services - Where did my report window go

I was working on a SSRS report recently.  Not an every day occurrence for me.  But its always fun to strap into the way back machine, open Visual Studio 2008, and build a SRSS report or two.

So here I am in my report,  feeling at home in my mid 2000's development environment.  But still feeling lost unable to find the report data window.

I looked under windows and other windows from the menu and could not find it.  So I went to the keyboard and displayed the window using the expert friendly keyboard shortcut. ctrl + alt +d

Friday, February 15, 2013

Virus Protection

Just a quick note to my non-techie friends. If you are paying for anti-virus software save your money. There are free anti-virus programs that work just as well.  My favorite free anti-virus right now is Avast.

Avast Install

Tuesday, February 12, 2013

WPF Charting Toolkit - End Of Month

On a current project I am using the WPF charting toolkit. I needed to show the last day of the month on the X axis and not the first.

I am using a MVVM pattern implemented with MVVM Light.  Binding a KeyValuePair from my ViewModel to my View.

Using this post on code project I was able to do this quickly.

Thursday, February 7, 2013

T-SQL Table Size Script

I had a really large database that I was backup and restoring, and was wondering what was taking up all the space.

So I swiped this script.  I will give you a list of the tables in your database and how big they are.

Tuesday, February 5, 2013

WPF Ribbon WIndow - Binding Breaks on window resize

Ran into this really weird problem on a recent project.

In a WPF view I am using the ribbon toolkit  Something really weird  happened.  I had a combo box to a ribbon group.  I am using MVVM Light to implement the MVVM pattern inside my application.

After doing some research I found one entry on a MSDN forum here Binding Breaks that said this is a problem with the data context being lost when re-sizing the window.  This is a crazy scenario that should never happen.  In the post on MSDN they talk about over riding or changing code inside the ribbon toolkit.  I really did not want to do this.  Typically I avoid changing Microsoft or any third party code at nearly any cost.  It makes future support really hard.  And lets face it, I am not smarter that the team of Microsoft developers who build the library in the first place.

So I came up with a different solution.  If I was loosing data context why not just set data context explicitly on the combo box that was loosing data context.  And it worked

Here is a little sample of what I did.  In this sample I have a view (XAML File) and a view model and a static view model locator class to bind the views to the view models.  Following standard MVVM Light pattern.

Here is a small sample of my adding data context.


<pre  style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoK_rOlCI0o8qqpoZvNwQ4r3ruEEUmcSnoNGvNK2_FdnjlRLIHVr8LjTb6W7VmWREvNm4nqfMcDkgi3GS0krWTPIi2-6AoL7vSnWO1fgf9K5WRLKBo0AxBpZ_REEbAssDJ3yrIb_4mnzeT/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> DataContext="{Binding ViewModel, Source={StaticResource Locator}}"

So Normally I would not set my data context on the element, but just once for the entire page.  But adding the data context binding simply fixes this issue.  Much easier than modifying Microsoft code.