This is a migrated thread and some comments may be shown as answers.

[Solved] Best architecture for many grids

2 Answers 122 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
Mark
Top achievements
Rank 1
Mark asked on 24 Jan 2008, 05:34 PM
I am prototyping a business application using all Telerik RadControls for ASP.NET or RadControls Prometheus.  The application has a single "main" page that contains, for navigation, 3 tabstrips, a panelbar, a combobox and a toolbar.  There is also an AjaxManager on the main page that handles all the ajax behavior between all these controls.

All of the controls on the main page are along the left side and top, leaving an area in the lower right for the ultimate content which is generally a RadGrid.  Depending on how the user navigates, they can expose any of 25 different grids, each with their own column layout, varying behavior on the item bound and group changing events, templated columns, etc.

So I am wondering what the best way to handle this is.  I could declaratively put a grid "skeleton" on the main page and then produce everything else programmatically for each different grid.  I don't have a problem with this approach, but I am wondering if I will ever run into functionality down the line that I can only do declaratively?  Also, are there any performance concerns between declarative / programmatic?
 
The first grid I did for a prototype is tentatively on its own aspx page and I brought that into the main page as the src in an iframe on the main page.  Separate aspx pages would be a great way to manage the code both declarative and programmatic.  However, the grid on it cannot be seen by the main page's AjaxManager.  I was hoping to use the AjaxProxy for this - but now that I read the docs, it seems to only support User Controls and Master/Content pages.  Would it also work in a src page of an iframe?  I saw in the previous version of the Rad ASP.NET controls a way to register controls from a page with a manager on another page on the fly.  If the new proxy control doesn't work in this situation, would the old method of registering on the fly be a good solution?
 
Of course, there are several other potential options too.  I could go with user control(s) - but I don't immediately see much advantage to that other than possibly being able to use the proxy.
 
Any advice or comments would be appreciated!

2 Answers, 1 is accepted

Sort by
0
Sebastian
Telerik team
answered on 25 Jan 2008, 02:17 PM
Hi Mark,

Thank you for the detailed explanation.

Generally speaking, there should not be any difference/limitations whether you create your grid instances declaratively in the aspx or from the code-behind. The only thing that you should be aware of that there are some general principles for dynamic server controls creation which are applicable for our web grid as well. I suggest you review the following online demos/documentation articles for more info:

http://www.telerik.com/DEMOS/ASPNET/Prometheus/Grid/Examples/Overview/DefaultCS.aspx (section Programmatic creation)

http://www.telerik.com/help/radcontrols/prometheus/ (chapter RadGrid -> Defining structure)

On the second part of the project schema:
Indeed you can use RadAjaxManagerProxy to apply ajax settings in content pages/user controls declaratively. In addition, you have the option to define ajax settings programmatically if the declarative solution is not feasible for particular situation:

http://www.telerik.com/help/radcontrols/prometheus/?ajxAddAjaxSettingsProgrammatically.html

I suppose this is what you mean by registering ajaxified controls on-the-fly.

Best regards,
Stephen
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Mark
Top achievements
Rank 1
answered on 28 Jan 2008, 07:20 PM
Hey Stephen - thanks for the reply.  I think for now I am going to pursue the programattic approach so that I can keep the grid on the containing page.
Tags
Ajax
Asked by
Mark
Top achievements
Rank 1
Answers by
Sebastian
Telerik team
Mark
Top achievements
Rank 1
Share this question
or