Reporting with Visual Studio 2010 - c#

I am at the moment working on a project on Visual Studio 2010 using C#.
One of my main tasks is to print invoices with a pretty strict layout, that is, some elements have to be positioned precisely say 3 mm from each other.
I had realized this project a long time ago using Access and its report framework, and it was quite useful because it allows page footers, report footer and so on.
I wanted to know what technology I should use in this case. I'm thinking about using Crystal Reports but I don't know if I should use the Microsoft Reporting framework instead.
Could you give me some advice, and if possible, suggest me a good tutorial about that technology?
For example, do you know any specific features one of them has?
What about deployment? Any of them is easier to handle?

Depending on your version of SQL Server, you can use Reporting Services. It's a very nice environment for building and managing reports.
Is this a web app or a desktop app that you're building?

I am looking to do something similar and I have been playing around with this Free Library as well as this one too

Related

Are there any library like Ext JS but for C#, especially WPF?

I'm looking for a library that allows me to build applications in a way similar to Ext JS, with MVC approach (MVVM with PRISM is ok too on .net applications. I'm thinking about EF to handle database objects), expecially with some nice components like Ext JS provides.
I'm expecially thinking about the grid component which is really useful for managing applications.
I only found Telerik, but it costs $1200 and I'm looking for something possibly free or not more expensive than $500, I know my budget is low but I must consider I should even buy Visual Studio ($900) and it's a lot of money as a single person to start a project.
Edit 1:
I found this library but the cost is basically the same as telerik: https://www.componentone.com/Store/?product=145
Edit 2:
This is a bit cheaper: http://www.devexpress.com/Products/NET/Controls/WPF/Grid/#main|buy
Edit 3:
This is even cheaper but it looks like missing filtering functionality for data-grid, which I think is a must-have: http://www.devcomponents.com/store/Scripts/prodView.asp?idproduct=26
You're probably searching for WPF Toolkit and/or Extended WPF Toolkit.
Those are libraries with a set of controls for WPF available for free.
Plus, to be able to develop something in C#/WPF, you can use Visual Studio Express Edition which is free as well.
Not for your library needs but:
For your Visual Studio (and other MS software) requirements, check WebsiteSpark and BizSpark. In short, WebsiteSpark is for startups who develop websites for other companies, and BizSpark is for start-ups who are developing their own software.

difference between telerik mvc controls suite paid/opensource

what is the difference between the paid version and open source telerik controls for mvc 2/3?
we have been using telerik controls for asp.net mvc for an year now. they work great and you can post issues on their forums and most of the problems are solved there. they also have a code library where you can find code samples. the only thing is that if you want to create a support ticket and want telerik team to see it on priority then you have to pay the support cost otherwise its just free. but from our experience i can tell you that we weer stuck about dozen times (in the beginning) but never had to create a support ticket problems were solved at forums. i will strongly urge you to use these controls. they are great and can save you lot of coding and time
Another thing...you may want to read the fine print to check me on this, but I believe that the open source version can only be used for an internal application or another open source application that you are developing. If you want to sell or use your product on a commercial basis, then you have to buy the full license.
There is mainly no major difference in terms of functioanlity.
The basic thing is that u can't get support from Telerik company if something stops working.
I am already using Telerik open source MVC toolkit in my project and is working fine.

C# for Java/*nix programmers

I am mainly a java programmer, using linux/os x for as long as i remember. I am extremely comfortable in emacs and usually prefer doing things through command line.
I need to create a internet explorer addon for our next project. I need to intercept url ie is about to download and if they meet certain criteria pass it to our application.
So my questions are,
How can i build a c# project through command line so i can integrate it with our current build process.
Current i have windows 2k installed in a virtual machine that i use for testing. Is there going to be any compatibility problems.
I am assuming i am going to be creating a dll and inject it to ie to intercept url's. Am i on the right track?
Here are responses to your questions:
Use the C# Command Line Compiler. MSDN has an entire section devoted to its use.
Not for an IE add-on. If you plan to do more, using some newer libraries, you may run into problems unless you're running Windows XP or later. For IE addons, 2000 should be fine.
That's the basic idea. I'd refer to the MSDN articles on creating add-ons for IE, such as this one showing how to make custom menus.
Be aware, though, that you'll have a more difficult time if you avoid using Visual Studio (or some other IDE). There is no reason not to use VS, especially since you can use the Express Edition for free. If you're doing that, you can use msbuild instead of csc directly, and it will simplify your build process (even if you build from the command line).
However, the productivity gains from a good IDE will come in handy, especially for C#.
Responses to your questions:
If you use Ant maybe this will help. If you use Maven, maybe this will help. Otherwise, I'd just use MSBuild or NAnt.
Can't say for sure. I would guess that the IE API would be the same on each of the platforms. YMMV.
I'm busy writing an IE addon at work and I'm using SpicIE. It's very straightforward and simplifies the IE API drastically.
I've read in the comments elsewhere that you're not a fan of VS. I would probably use it (or MonoDevelop/SharpDevelop if they can create .csproj) to create the .csproj that can be used as an input to MSBuild. It might save you time rather than having to learn the syntax of the file.
If you give up the IDE, you give up one of the best debuggers on the planet and the best code-completion I've ever seen. Other than the fact that it will be a new system to you, there is no reason to claim that you can develop faster in EMACS. Everything you need is in the IDE, and there are keyboard shortcuts to mostly everything.
If you computer can handle the work load, I really see no good reason not to use Visual Studio.
edit: the newest version of visual studio won't run on anything less than XP sp2, to my recollection. This is most likely because the new versions of .NET won't run on anything lower than that... which would be a huge compatibility problem.

Where to start with ASP.net in C# and Dreamweaver?

I am looking to start working on a personal site using C#. I work as a web developer and have used VBScript previously and am using Coldfusion now at work. I use Dreamweaver for development in these languages.
I have read a lot of people recommending that you should use a MS IDE to develop in .net and that C# is the way to go in terms of the language. I would like to stick with Dreamweaver as I feel I would be taking on a bit too much to learn how to use a new IDE and a new language at the same time.
Will using something like Visual Studio help with developing in .net so much that it is worth the effort of changing from Dreamweaver?
If so which IDE would be best to learn with?
If I choose to stick with Dreamweaver is there any recommendations you can make as to how to best setup Dreamweaver for easy development?
I believe not. Dreamweaver is not a good tool for developing code. This is what you need in ASP.NET. You'll need debugging. You'll enjoy IntelliSense, and you can always open single files in Dreamweaver occasionally (which I doubt you would, anyway).
Grab Visual Studio Express 2013 for Web (which is free) and enjoy. It's a Windows app, like many other Windows apps! You don't need professional training to use it.
As someone who formerly coded PHP in Dreamweaver, I would strongly suggest the use of the Visual Studio IDE for C# ASP.NET applications. The benefits are numerous:
Intellisense - where any object, property, method, etc. that you create will automatically appear in an auto-complete box, drastically reducing syntax errors
Project templates - starting a web application from scratch is going to be very very tricky if you have to do it all via source code
Debugging - errors can be caught and debugged directly in the source code
Add-ins - my favorite being the Configuration Section Designer
I'm sure there are even more reasons, these are just the biggest ones.
If you feel comfortable using Dreamweaver for design, you can still continue to use it, but I would strongly recommend you familiarise yourself with Visual Studio Express however (it's free). Trying to learn .NET and C# using a text editor or an application like dreamweaver is feasible, but you would be making the learning process unnecessarily difficult. Visual Studio gives you syntax highlighting, intellisense, debugging, and many other features that you just aren't going to get in another IDE targeted at web design. VS is really very strongly coupled to .NET development.
I started my career as a web designer many years ago using Dreamweaver, and have gradually made the transition to software developer. Leaving tools like Dreamweaver behind has actually given me a lot more freedom in terms of working as a designer, and I find that I don't in fact need any tools for markup and css other than a text editor. You may find that abandoning a design tool like dreamweaver actually makes you a better designer; and just as well - the "design" tools in Visual Studio are absolutely useless :)
If you do decide to continue using Dreamweaver for markup, be aware that things may render differently in Visual Studio. Ignore the Visual Studio design pane entirely and just check your design in the various browsers (I'm sure you already do this).
I think you would be very disappointed with the ASP.NET support in Dreamweaver. You would be MUCH better off getting yourself a copy of Visual Studio / Web Developer (express editions are free) and doing your development there.
That said, there's no reason why you can't create your HTML and CSS in Dreamweaver, then bring those files into Visual Studio to actually put in the code. This is kind of a one-time deal though since usually once you've started splitting up your HTML into master pages and user controls/partial views, it's pretty difficult to go back and edit them again in Dreamweaver.
Visual Studio 2008 will be probably better. Not only IntelliSense, but also debugging in JavaScript can be helpfull sometimes (don't know is it included in the Express edition).
Yes, coming from the exact same situation I can tell you now it will help a great deal to walk away from Dreamweaver for your .net work. The intellisense for C# is not super great in Dreamweaver. You will find features you miss a great deal from Dreamweaver though, specifically code completion on the HTML side is much better in Dreamweaver then in VS.
Another vote for Visual Studio, with the addition that you don't have to give up Dreamweaver. You can use Dreamweaver to build a basic layout and interface design. Then use Visual Studio to realize the implementation of that design.
You will find building ASP.Net without a purpose-build IDE painful.
I'd really like to point out that "IntelliSense" is nothing new and nothing Microsoft invented by any means. IntelliSense IS code hinting with links to the Microsoft help page, which I've never needed personally. Please see that Dreamweaver does have code hinting exactly the same as Visual Studio, however is not designed to develop C# and similar languages, and for that reason alone I would not recommend trying to develop with it.
As for developing purely in HTML, CSS, and JavaScript, a plain text editor is a better choice than Visual Studio granted you don't change any of the settings. There are so many things I hate about how VS behaves while I'm writing HTML, but that's another thread. On another site.

Howto draw "pages" in a C# WinForms project

I want to display data on a Windows Forms project in C#.
The general sketch for the GUI is similar to Acrobat Reader or MS Word - meaning i want to display the data on several pages, and let the user navigate between the pages. The data i`m displaying isn't special, i just want to give the user a "page" feeling when viewing it.
I`m searching for a good starting point, preferably open-source.
I thought about using some kind of a reporting tool, such as Crystal Reports, is that a good idea?
Also, is better to use WPF then WinForms for this?
Any thought and recommendations are welcome.
Thanks.
It sounds like you would be better off going the WPF route. You have MUCH better control over how your "form" looks.
What you would want to do is define each "page" in a user control or something, then you can display each one however you like. WPF can handle the zooming for you, all you have to do is hook it up (look into transforms). I can't see WinForms doing this. I would suggest looking at this project on codeplex.
If this project is just for fun, and if you already are using Visual Studio 2008, then WPF is a good choice for this.
If you intend to make this a commercial project, however, I would recommend making it a WinForms application. WPF requires Visual Studio 2008 and .Net 3.5. Many Windows users (especially corporate customers) are still using .Net 2.0 and don't plan to upgrade soon. Some are even still on .Net 1.1 (or no .Net at all). .Net 2.0 comes pre-installed now on new PCs, and the installer for 2.0 is only 23 MB (versus close to 200 MB for the somewhat-buggy .Net 3.5 installer). Also, .Net apps can (potentially) be made to run on Mac, Linux and the iPhone thanks to Mono, but Mono now is somewhere between .Net 2.0 and .Net 3.5, so WPF applications can't be cross-platform yet.
Here is a previous answer to a sort-of-similar question about doing a zoom effect in .Net with GDI+:
Auto sizing zoom on an image in .NET
This should give you a start on doing this kind of graphics work in .Net (and it's as open source as it gets).
Update: If you want to render XPS documents (easily), then you should use WPF. However, this choice would effectively eliminate the possibility of making your application cross-platform via Mono, at least in the short-term.
An alternative would be to export your documents as PDF files, or use Adobe Acrobat to convert your XPS documents into PDF files. Here is a link to a CodeProject sample that renders PDFs entirely in C#/.Net 2.0 or older:
http://www.codeproject.com/KB/showcase/pdfrasterizer.aspx
This code would allow your WinForms application to render a PDF file as a collection of Bitmaps (one for each page), and from there it's a relatively simple matter to display these Bitmaps in the manner you describe (with zoom and everything). Because the project would use .Net 2.0, it should work in Mono without any modifications.
TabControl doesn't do what you want?
It sounds like what your trying to do is make an application behave like a web page. Would just adding a WebBrowser control suffice ?

Categories