Jan 09, 2013, 6:25 PM
How to dynamically add a grid from a partial view?
Given partial view:
@{
Layout = null;
}
@(Html.X().GridPanel()
.Header(false)
.Border(false)
.Store(Html.X().Store()
.AutoLoad(true)
.Proxy(
Html.X().AjaxProxy()
.Url(Url.Action("GetMyRecommendations", "api/Recommendations"))
.ActionMethods(actions =>
{
actions.Read = HttpMethod.GET;
})
.Reader(
Html.X().JsonReader().Root("result")
)
)
.Model(Html.X().Model()
.Fields(
new ModelField("RecommendedDisplayName"),
new ModelField("RecommenderUserDisplayName"),
new ModelField("TitleAtCompany")
)
)
)
.ColumnModel(
Html.X().Column().Text("Recommended DisplayName").DataIndex("RecommendedDisplayName").Flex(1),
Html.X().Column().Text("Recommender DisplayName").DataIndex("RecommenderUserDisplayName").Flex(1),
Html.X().Column().Text("Title").DataIndex("TitleAtCompany")
)
)
then from a regular view what is the best way dyamically load it in to a Portlet?:columns.Add(Html.X().PortalColumn()
.Cls("x-column-padding")
.MarginSpec("0 10 0 10")
.Flex(1)
.Items(portlets =>
{
portlets.Add(Html.X().Portlet()
.Title("Employees")
.Layout(LayoutType.Fit)
.Anchor("100% 100%")
.Closable(false)
.Items(
Html.X().Container()
.ID("ViewContainer2")
.StyleSpec("border:solid 1px black; height:150px; width:300px;")
.Loader(Html.X().ComponentLoader()
.Url(Url.Action("AutoLoadPartialView"))
.Mode(LoadMode.Script)
.Params(new { containerId = "ViewContainer2", viewName = "_MyRecommendations" })
)
)
);
}));