<March 2006>
SuMoTuWeThFrSa
2627281234
567891011
12131415161718
19202122232425
2627282930311
2345678

Post Categories

Navigation

Subscriptions

An error occured during printing. (0x8007F304)
I had an exciting time fighting with this particular error message today when trying to print in Reporting Service 2005.  As far as I can tell, it gets thrown when you have the Reporting Service 2000 client printing Active-X control on your system, and then try to print from Reporting Services 2005.  Here is how I fixed it:

1. Closed all instance of Internet Explorer.
2. Opened Windows Explorer and went to C:\Windows\Downloaded Program Files\
3. Right clicked on RSClientPrintClass and chose "Remove"
4. Went to my Reporting Services report and tried to print
5. Said "Install" when prompted to install the Reporting Services Print Control
6. Printing commenced!

posted Monday, January 30, 2006 1:49 PM by cslatt with 0 Comments

Fun with Quirks Mode

OK, I'm by no means a complete expert on the subject, but I think I know enough to be able to shed some light on Adlai Maschiach's XHTML in VS2005 post.

He describes some trouble he had porting an ASP.NET 1.1 application to ASP.NET 2.0 and tables with 100% height not rendering as expected.  He recommends switching the doctype to HTML 4.0 transitional and removing the link to the dtd from the doctype declaration.  Now this will work, but it is important to understand what's happening in the background.

IE and Firefox (and perhaps other browsers) have at least two different rendering modes. Standards Mode and Quirks Mode. In Standards mode, the browsers render the html in their most standards-compliant manner and generally behave like the W3C (World Wide Web Consortium - the people who develop the standards for HTML, CSS etc) would want them to. In Quirks mode, IE and Firefox throw the standards out the window for the most part, and emulate little quirks and bad behaviors that the earlier version of Netscape and IE exhibited and which many web sites still rely on. One of those little quirks, is the concept of a table with a height. Neither HTML 4.0 nor XHTML allow a height attribute on the table element. The only way a height on a table will render is if the browser is in Quirks mode.

The main indicator that IE and Firefox look for when determining which mode to use is the presence of a valid doctype at the top of the page. A valid doctype must include a link to the DTD, like so:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

Because the doctype that Adlai is using is invalid (missing the link to the dtd), IE and Firefox switch to Quirks mode and the invalid height attribute is obeyed. The switch from XHTML to HTML 4.0 in the doctype doesn't really have much of an effect.

Now I'm not saying you shouldn't put out a website that forces the browser into Quirks mode, though I don't believe you should develop any NEW applications that force the browser into Quirks mode. It is important either way, however, to know what is happening in the browser because it will affect the way many html tags are rendered.

posted Monday, November 28, 2005 9:58 AM by cslatt with 0 Comments

VistaDB
About a year ago, I was planning out an application to track all of the piddly little stupid stuff in my life - Frequent Flyer Numbers, Lock Combinations, Recipes, etc.  Ideally, I was hoping to put together something that would run on the Desktop, on my PocketPC and on the web so I could get to it from anywhere.  I started looking around for a database solution to do that sort of thing and ran across VistaDB.  I couldn't find enough information to decide if it was the right choice, and I didn't want to pay money to find out for sure.  Eventually after beating my head against the wall working with SQL Server CE, I settled for a desktop application to do the tracking.  Now, apparently, a new version VistaDB is out and in return for spreading the word, they're handing out free versions to bloggers.  I'm still interested in doing a fully-syncable app for this stuff, and it would be a good first project for VS 2005, so here's their announcement.  I'll give my free version a whirl and let you know what I think.

VistaDB 2.1 database for .NET has been released
This 2.1 update includes over 60 improvements, including new support for .NET 2.0 and Visual Studio .NET 2005. VistaDB is a small-footprint, embedded SQL database alternative to Jet/Access, MSDE and SQL Server Express 2005 that enables developers to build .NET 1.1 and .NET 2.0 applications. Features SQL-92 support, small 500KB embedded footprint, free 2-User VistaDB Server for remote TCP/IP data access, royalty free distribution for both embedded and server, Copy 'n Go! deployment, managed ADO.NET Provider, data management and data migration tools. Free trial is available for download.
- Learn more about VistaDB
- Repost this to your blog and receive a FREE copy of VistaDB 2.1!



posted Friday, November 04, 2005 7:06 AM by cslatt with 0 Comments

Layering Violations
Personally, I found this post by Larry Osterman on 'layering violations' to be incredibly interesting.  In it, he describes the "Architectural Layering Initiative" at Microsoft and how they have used Static Code Analysis to create a map of run-time and build-time dependencies between Windows Components and how they are attempting to refactor Windows to ensure that low-level components don't depend on higher-level components and also put "Quality Gates" in place to ensure that no more of these "Layering Violations" occur.  Interesting stuff, in my opinion.  I suggest you check it out.

posted Tuesday, August 23, 2005 12:29 PM by cslatt with 0 Comments

Microsoft teaming up with the Web Standards Project
Did I miss the party or has the blogosphere largely missed the announcement that Microsoft has teamed up with the folks at the Web Standards Project to ensure standards compliance in ASP.NET and Visual Studio?  Sounds like great news to me!

posted Saturday, July 09, 2005 8:42 AM by cslatt with 1 Comments

Reporting Service - Using InScope to do custom subtotals
Imagine you're doing a report of Employee sales figures.  You put together a quick Matrix report in Reporting Services, throwing Employee on the left and Fiscal Quarter across the top, with Sale amount in the data area.  Fabulous, you've just created a useful report in no time.  But now your boss says, "I want the same sort of report showing sales by employee and quater, but for the subtotals on the bottom and the right I want to see how many employees missed their quota each quarter and how many times a particular employee has missed their quota.  Now what do you do?  Reporting Services handy automatic subtotaling isn't going to work.

I discovered this week that the InScope function comes to the rescue!  You see the subtotals at the bottom of the matrix aren't in the scope of your row group(s) and the subtotals on the right edge of the matrix aren't in the scope of your column group(s) so you can use an expression like this in your datacell to get sales amount summed in the data cells and missed quotas summed in the subtotals:

=IIF(InScope('employee') And InScope('quarter'), SUM(Fields!sales_amount.Value), SUM(IIF(SUM(Fields!sales_amount.Value) < Fields!sales_quota.Value, 1, 0)))

Assuming you have 2 groups named 'employee' and 'quarter', this expression says if I'm in the scope of 'employee' and in the scope of 'quarter' (aka I'm in a data cell) then spit out the sum of sales_amount for my groups.  If I'm not (aka I'm in a subtotal) then instead sum up the # of cells where the quota wasn't met.

I hope you've enjoyed my first blog post, it should at least be more useful than "Hello World"!

posted Wednesday, July 06, 2005 9:14 PM by cslatt with 3 Comments

Powered by Community Server, by Telligent Systems