or
@(Html.Kendo().Grid<
RateDayViewModel
>()
.Name("dayGrid")
.Columns(columns =>
{
columns.Bound(o => o.Date).Format("{0:d}");
})
.ClientDetailTemplateId("channelTemplate")
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Model(model =>
{
model.Id(p => p.DayID);
})
.PageSize(10)
.Read(read => read.Action("ReadSummary", "Rate"))
)
.Pageable()
)
<
script
id
=
"channelTemplate"
type
=
"text/kendo-tmpl"
>
@(Html.Kendo().Grid<
RateChannelViewModel
>()
.Name("day_#=DayID#")
.Columns(columns =>
{
columns.Bound(o => o.Channel.Label).Title("Channel");
})
.ClientDetailTemplateId("roomTemplate")
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(p => p.ChannelID);
})
.Read(read => read.Action("ReadChannels", "Rate", new { Day = "#=DayID#" }))
)
.ToClientTemplate()
)
</
script
>
<
script
id
=
"roomTemplate"
type
=
"text/kendo-tmpl"
>
@(Html.Kendo().Grid<
RateRoomViewModel
>()
.Name("room_#=DayID##=ChannelID#")
.Columns(columns =>
{
columns.Bound(o => o.Room.Label).Title("Room");
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(p => p.RoomID);
})
.Read(read => read.Action("ReadRooms", "Rate", new { Day = "#=DayID#", Channel = "#=ChannelID#"}))
)
.ToClientTemplate()
)
</
script
>
function sendData() {
var grid = $("#Grid").data("kendoGrid"),
parameterMap = grid.dataSource.transport.parameterMap;
var data = parameterMap({ sort: grid.dataSource.sort(), filter: grid.dataSource.filter(), group: grid.dataSource.group() });
$.ajax({
url: "/Home/UpdateCreateDelete",
data: data,
type: "POST",
// note grid.autobind() set to false, so we can load upon dom ready below:
$(function() {
@{ var request = TempData["request"] as DataSourceRequest; }
var grid = $("#mygrid").data("kendoGrid");
​
grid.dataSource.query({
page: @request.Page, // WORKS PERFECTLY!
pagesize: @request.PageSize, // WORKS PERFECTLY!
filter: null, // FAILS IF I use filter: @request.Filter
sort: null, // FAILS IF I use sort: @request.Sort
group: null, // FAILS IF I use group: @request.Group
});
}
<
div
id
=
"sidebar-wrapper"
>
<
ul
class
=
"sidebar-nav"
>
<
li
class
=
"sidebar-brand"
>
<
img
src
=
"@Url.Content("
~/Content/Images/Trust_Logo.png")" />
</
li
>
<
li
style
=
"margin-top:40px;"
>
<
span
style
=
"font-size:x-small"
>Division</
span
>
@(Html.Kendo().DropDownList()
.Name("ddlDivsion")
.DataValueField("Code")
.DataTextField("Description")
.Events(e => e.Change("onChange"))
.HtmlAttributes(new { style = "width:80px; font-size:x-small;" })
.DataSource(src => src.Read(rd => rd.Action("GetDivisions", "Division")))
)
</li>
</ul>
</div>
#wrapper {
padding-left
:
0
;
-webkit-transition:
all
0.5
s ease;
-moz-transition:
all
0.5
s ease;
-o-transition:
all
0.5
s ease;
transition:
all
0.5
s ease;
}
#wrapper.toggled {
padding-left
:
150px
;
}
#sidebar-wrapper {
z-index
:
1000
;
position
:
fixed
;
left
:
150px
;
width
:
0
;
height
:
100%
;
margin-left
:
-150px
;
overflow-y:
auto
;
background
:
#C9F2F8
;
-webkit-transition:
all
0.5
s ease;
-moz-transition:
all
0.5
s ease;
-o-transition:
all
0.5
s ease;
transition:
all
0.5
s ease;
}
#wrapper.toggled #sidebar-wrapper {
width
:
150px
;
}
#page-content-wrapper {
width
:
100%
;
position
:
absolute
;
padding
:
15px
;
}
#wrapper.toggled #page-content-wrapper {
position
:
absolute
;
margin-right
:
-150px
;
}
/* Sidebar Styles */
.sidebar-nav {
position
:
absolute
;
top
:
0
;
width
:
150px
;
margin
:
0
;
padding
:
0
;
list-style
:
none
;
}
.sidebar-nav li {
text-indent
:
20px
;
line-height
:
40px
;
margin-top
:
10px
;
}
.sidebar-nav li a {
display
:
block
;
text-decoration
:
none
;
color
:
#0483AA
;
}
.sidebar-nav li a:hover {
text-decoration
:
none
;
color
: darkblue;
background
: rgba(
255
,
255
,
255
,
0.2
);
}
.sidebar-nav li a:active,
.sidebar-nav li a:focus {
text-decoration
:
none
;
}
.sidebar-nav > .sidebar-brand {
height
:
65px
;
font-size
:
18px
;
line-height
:
60px
;
}
.sidebar-nav > .sidebar-brand a {
color
:
#999999
;
}
.sidebar-nav > .sidebar-brand a:hover {
color
:
#fff
;
background
:
none
;
}
@media(
min-width
:
768px
) {
#wrapper {
padding-left
:
150px
;
}
#wrapper.toggled {
padding-left
:
0
;
}
#sidebar-wrapper {
width
:
150px
;
}
#wrapper.toggled #sidebar-wrapper {
width
:
0
;
}
#page-content-wrapper {
padding
:
20px
;
position
:
relative
;
}
#wrapper.toggled #page-content-wrapper {
position
:
relative
;
margin-right
:
0
;
}
}