ASP.Net MVC 3 Grids - asp.net-mvc

I see that there is the Telerik Grid, jqGrid and WebHelper WebGrid as part of the framework. Am I missing any others?
Which one works best on a commercial application with thousands of rows and master/detail relationships for ASP.Net MVC 3?

I have used the Telerik MVC grid in production. Take a look at the grid at an online Diamond store. It works the same with even 50k+ rows as it only sends the current page to the browser + it has many cool features like Filters, Ajax binding etc.
No idea on the master details front. You could find more info about it on Telerik's Site

there is also grid supplied by mvccontrib. I personally use telerik grid having some cool features and scale for large data Q3 2010 has some good improvements such as inline editing etc. For MVC 3 grid i am waiting for rtm of mvc 3 coming in January

If you're using Telerik for a commercial project, then you will need to buy it. Check this link: http://www.telerik.com/products/aspnet-mvc/getting-started/licensing.aspx.
We're using the jQuery in our project, so the jqGrid is most suitable for us. It's powerfull, has a lot of plugins and completely free, but little bit more complicated in use than Telerik.
jqGrid usage example:
[view]
http://xenta.codeplex.com/SourceControl/changeset/view/11214#118453
[controller]
http://xenta.codeplex.com/SourceControl/changeset/view/11214#118416

Related

Customize Telerik chart

I'm trying to add a functionality to Telerik MVC Q3 chart (I need the chart to show some summary lines, for instance minimum, maximum or average lines). I downloaded the visual studio solution from codeplex, but it's too hard to make any changes because I couldn't find any documentation on this project. I somehow managed to add the server side configuration part, but now I'm really stuck with the javascript part. Could someone advise how can I get the documentation?
Telerik does not have an extensive client-side api. What there is can be found in their docs.
Telerik Extensions for ASP.NET MVC Manual
Under Telerik UI Components, there is a section called "Client API and Events" for each component. For example, Grid Client API and Events.
Telerik Extensions for ASP.NET MVC Demos
The demos all have a small demo of client-side events. For example, Grid Client-Side Events.
Another resource that might be useful on the ASP.NET Wiki is an article by John DeVight called "Telerik MVC : Extending the Client API". Also the Telerik MVC Series might be useful.

Telerik Extensions for ASP.NET MVC - Performance Implications

I've used quite a bit of the Telerik RadControls for AJAX, and though I've been pretty happy with the controls, I've found that the performance has been less than stellar over traditional controls.
I'm wondering what the performance implications would be (that you might know of) with regards to the MVC Extensions over traditional jQuery libraries (Telerik MVC Grid VS jqGrid for example).
Basically, how well does Telerik MVC Extensions perform?
on a side note: does the Telerik MVC Extensions grab a copy of the jQuery library to use, or am I responsible for adding it to my page for it to work? I'd be a happy guy if I'm the one that has to do this instead of the extensions doing it.
First I need to put some disclaimer as I am one of the developers of Telerik Extensions for ASP.NET MVC. My opinion is obviously biased :)
What are your requirements? How many rows do you intend to show in the grid? How many records do you have in the database? I have tested the grid with 100k db records and 10 items per page. Performance was very good.
By default the extensions include jQuery-1.4.2.min.js but you can prevent this and include it yourself:
<%= Html.Telerik().ScriptRegistrar().jQuery(false) %>
Displaying < 100 rows, which I consider a pretty usable grid size, is probably pretty fast using any Javascript grid. I'd say your bottle neck will be data access unless your trying to display 100,000 rows of data.
The example here, http://demos.telerik.com/aspnet-mvc/Grid?theme=vista, has > 8300 records and is pretty snappy.

Adding Reporting Capabilities to MVC?

Background: I currently have a Web Forms, ASP.NET 3.5/C# application which I'm interested in converting to MVC 2. It's a relatively tiny app so the exercise shouldn't take too long. The two primary functions the appliction does is allow users to
1) view and enter their data - metrics
2) view output reports of this data aggreggated at a higher level.
This second point is of concern to me as my first impression of MVC is that most of the reporting tools do not work with it. I'm currently using ReportViewer for 2) but I read here and on other sites that configuring it to work with MVC is a pain.
Are there any other types of Reporting capabilities that I could use with MVC 2? Are there some that work "out of the box"?
Or in your experience of using MVC 2, would it be easier to put together your own report? My requirement is to make a report that is similar to ReportViewer's Matrix style, with a few merged cells and a drill down by two levels. Don't know if that's way too complicated to do with MVC from scratch or not.
EDIT: Bonus if you know of any other Reporting add-ons that work with MVC besdies ReportViewer.
I have used the RDLC local reports to do this but I don't use the report viewer (even in webforms). I always stream the report straight to PDF. This works great in MVC as well since in this case I am avoiding the report viewer control.
This tutorial/post shows how to stream in MVC.
Please check my tutorial about reportviewer and mvc2 -> How to use ReportViewer 2010 in MVC.NET 2
Hope it helps you

Which datagrid to use for ASP.NET MVC2 project?

I am developing a commercial MVC2 app that requires a grid that has callback update in some form to support 10,000+ rows. It should also support relatively rich content (icons, multiline descriptions etc). Although it requires the usual paging/scrolling/sorting features it does not need support for grouping. So nothing that special.
The commercial grids I looked at were Component Art and Telerik which both look pretty good but may be a little OTT for what I need. They are also $800 and $999 respectively (1 developer).
I've also looked at jqGrid and the grid from MvcContrib. These appear ok but for a commercial app I am concerned that these may be risky options - though could be wrong there.
I'd really appreciate any views/exprience on either the above grids or perhaps you can suggest a better option/approach.
FYI I am using EF4 and C#.
I have quite a bit of experience with jqGrid, the grids from DevExpress and telerik, as well as ExtJS. By far, my favorite of the bunch is jqGrid. I'm not concerned with lack of support or the project going away. They had just recently introduced a redesigned grid for use with MVC: http://www.trirand.com/blog/?p=639
telerik and DevExpress are both excellent in their own way. A friend of mine has had issues with the eventing model of the telerik grid, and I've experienced quite a bit of 'html bloat' from the DevExpress grid. telerik has great support for doing things like reordering columns on the client side, while the DevExpress grid requires a call back to do this.
ExtJS is wonderful, but I really feel that it is a very heavy JavaScript grid. Performance in IE can be dreadful with the ExtJS grid. It generally performs well if you do not have a lot of columns, or do not try and put more than one grid on a page. You'll want to definitely avoid putting the ExtJS grids into Tab controls, as all sorts of issues arise when the grid is rendered to a non visible element.
We've actually just recently decided to switch all of the grids used in our reporting system over to telerik's Silverlight grids, which perform beautifully compared to their JavaScript counterparts.
Hope this helps, and good luck.
Honestly, you can develop your own with MVC rather easily giving you all that you need. Though I suppose if you need something quick that works, the MvcContrib grid is great.
give a look to the datagrid of the MVC Controls Toolkit. It appears quite flexible. It allows editing, deletions, insertions and paging. Moreover it is really easy to move the changes to a DB in the controller. Look at it here.
There is a DevExpress grid much the same as Telerik which again might be over the top for you. However you can buy the grid on it's own rather than the whole suite although it may not be worth doing that since the grid is almost half the price of the suite.
My last shot at components for ASP.NET MC was not succesfull. Its so much harder to have a controll for MVC then for old school ASP.NET.
the routing the controll expects has to mapp nicely to the routing of your application
things get much harder when you have more then 1 grid on the page
if the controll has to work for non-Javascript enabled clients your choices are even more limited
if the back button of the browser needs to be working your choice is even more limited
In my case it turned out that it was much better to use plain html and jquery to realise paging, sorting and filtering for a table. I would draw the line if your site is more a public website (like mine) or an application that has a web frontend.
We use the ExtJS grid in out ASP.NET MVC project.
http://www.extjs.com/deploy/dev/examples/grid/array-grid.html
I recently research about this and the winning was jQgrid for performance is the Best!

control toolkit for asp.net mvc

Is there a good enough Control toolkit framework for ASP.net MVC that includes useful controls like calendar, tree, grid etc.
Thanks in advance.
From what i know, the most popular and active (in development) is the Telerik ASP.net MVC Components. Demos here.
If you just need a grid, MVCContrib has a good one.
The Mvc Controls Toolkit offers server controls that are comparable with the ones of Web Forms. See here: http://mvccontrolstoolkit.codeplex.com/
Telerik's MVC framework as mentioned above is good; it has a really nice grid, but does not have the calendar/tree components. However, if you can wait until march, it has the other two components you are looking for. See the roadmap at: http://www.telerik.com/products/aspnet-mvc/whats-new/roadmap.aspx.

Resources