Wheel re-invented.

I now have my invoice control completed and functional. I don't have paging in there yet, but for this report it may not be necessary. On a full sized sheet of paper it can accommodate exactly 30 lines before running off the page. I'll check with Tony, but I think for a work order, even with note lines added in that should be more than enough. I would figure that ten lines including notes would be an average for a large order. I didn't include it because my other control doesn't work. It seems that creating a proper dependency property to contain an loosely typed enumeration is much harder than a dependency property with a known property type. Despite this, my order details still use my custom class, so once I do get around to fixing it, it should be trivial to include this functionality.

Also starting the cleanup. I'm not done PO Receiving and completion yet, but I'm at that point where I need to start seeing the bugs disappear and the UI start looking pretty. Spent too many night looking at XAML now for my sanity.

I gotta say. I like the result of my reports better than the code reasons ones. I chalk that up to the reports automatically taking my theming choices and working databinding more than anything. Also, it is so much easier to design a nice and valuable report in a standard UserControl than inside a FlowDocument. The BlockUIContainer was supposed to give me the same functionality, but it didn't seem capable of working properly with Data Binding either (some forums hinted at potential resolvable issues related to thread concurrency). 

Manual pagination is a small price to pay. I know what I want and how to get it. This unfortunately means I lose the "standard" reporting library I had wanted to create. I will likely implement an interface and/or base class still to simplify the integration of the reports even if I can't simplify the report building any further than what I have already. But it also removes my dependency on another 3rd party library and solution. As much as I love open source, the fewer external dependencies the better. To get receipts to print on Veronica's application I had to modify the Code Reasons project to my ends already which is a far from ideal circumstance.

Comments

Popular Posts