looking for advice on how to point to ActionResult using ej.datamanager
Controller:
public ActionResult Index()
{
var fixtureHeaders = db.FixtureHeaders.Include(f => f.Group).Include(f => f.League).Include(f => f.User).Include(f => f.User1)
.Select(f => new
{
FixtureId = f.FixtureID,
FixtureDate = f.FixtureDate,
LeagueName = f.League.LeagueName,
GroupName= f.Group.GroupName
});
ViewBag.datasource = fixtureHeaders.ToList();
var fixtureLists = db.FixtureLists.Include(f => f.FixtureHeader).Include(f => f.Status).Include(f => f.Team).Include(f => f.Team1).Where(fl=>fl.FixtureHeaderId==1)
.Select(fl => new
{
FixtureListId = fl.FixtureListId,
FixtureHeaderId = fl.FixtureHeaderId,
HomeTeam = fl.Team.TeamName,
AwayTeam=fl.Team1.TeamName,
});
ViewBag.datasource2 = fixtureLists.ToList();
return View();
}
View:
<div class="col-md-4">
Fixtures
@(Html.EJ().Grid<object>("fixtures")
.Datasource((IEnumerable<object>)ViewBag.datasource)
.IsResponsive()
.SelectedRowIndex(0)
.Columns(col =>
{
col.Field("FixtureId").IsPrimaryKey(true).HeaderText("ID").Width(50).Add();
col.Field("FixtureDate").HeaderText("Date").Width(100).Format("{0:dd/MM/yyyy}").Add();
col.Field("LeagueName").HeaderText("League").Add();
})
.ClientSideEvents(eve => { eve.RowSelected("rowSelected"); })
)
</div>
<div class="col-md-8">
Games
@(Html.EJ().Grid<object>("fixturelist")
.Datasource((IEnumerable<object>)ViewBag.datasource2)
.IsResponsive()
.AllowGrouping(false)
.Columns(col =>
{
col.Field("FixtureListId").IsPrimaryKey(true).HeaderText("ID").Width(50).Add();
col.Field("FixtureHeaderId").Add();
col.Field("HomeTeam").HeaderText("Home").Width(60).Add();
col.Field("AwayTeam").HeaderText("Away").Width(80).Add();
})
)
</div>
@section Scripts{
<script type="text/javascript">
$(function () {
window.rowSelected = function (args) {
debugger;
var fixtureheaderid = args.data.FixtureId
var detaildata = ej.DataManager({url: "/Fixture/index"}).executeLocal(ej.Query().where("FixtureHeaderId", ej.FilterOperators.equal, fixtureheaderid, false).take(10));
var gridObj = $("#fixturelist").ejGrid("instance");
gridObj.dataSource(ej.DataManager(detaildata.slice(0, 5)));
}
});
</script>
}
Grant