@model IEnumerable<WebsiteViewModel>@(Html.Kendo().Grid<WebsiteViewModel>() .Name("grdAllWebsites") .Columns(columns => { columns.Bound(o => o.Id) .Visible(false); columns.Bound(o => o.Name) .Width(200); columns.Bound(o => o.Type) .Width(125); columns.Bound(o => o.IsActive) .Width(75) .Filterable(false) .HtmlAttributes(new { style = "text-align: center;" }) .ClientTemplate("<input readonly='readonly' type='checkbox' disabled='disabled' name='chkIsActive_#=Id#' id='chkIsActive_#=Id#' #= IsActive? \"checked='checked'\" : \"\" # />"); columns.Command(command => { command.Edit().Text(" "); command.Destroy().Text(" "); }) .HtmlAttributes(new { style = "text-align: center;" }); }) .ClientDetailTemplateId("WebsiteLanguagesTemplate") .DataSource(dataSource => { dataSource.Ajax() .Model(model => { // DataKey model.Id(o => o.Id); }) .PageSize(15) .Read(read => read.Action("Read", "Websites")) .Update(update => update.Action("Read", "Websites")) .Destroy(destroy => destroy.Action("Read", "Websites")); }) .Events(events => { events.Edit("Grid.onEdit"); events.Remove("Grid.onDelete"); }) .Pageable(paging => { paging.Numeric(true) .Info(true) .PreviousNext(true) .Refresh(true) .Messages(message => { message.Empty(AdminResource.Admin_Page_Websites_Grid_NoRecordMsg); }); }) .Sortable() .Filterable())<script id="WebsiteLanguagesTemplate" type="text/kendo-tmpl"> @(Html.Kendo().Grid<WebsiteLanguageViewModel>() .Name("WebsiteLanguages_#=Id#") .Columns(columns => { columns.Bound(o => o.Id) .Visible(false); columns.Bound(o => o.Name) .Width(200); columns.Bound(o => o.Code) .Width(50); columns.Bound(o => o.IsActive) .Width(75) .Filterable(false) .HtmlAttributes(new { style = "text-align: center;" }); .ClientTemplate("<input readonly='readonly' type='checkbox' disabled='disabled' name='chkIsActive_#=Id#' id='chkIsActive_#=Id#' #= IsActive? \"checked='checked'\" : \"\" # />"); }) .DataSource(dataSource => { dataSource.Ajax() .Model(model => { // DataKey model.Id(o => o.Id); }) .Read(read => read.Action("Read2", "Websites", new { websiteId = "#=Id#" })); }) .Pageable(paging => { paging.Enabled(false) .Refresh(false) .Messages(message => { message.Empty(AdminResource.Admin_Page_WebsiteLanguages_Grid_NoRecordMsg); }); }) .Sortable() .ToClientTemplate() )</script>UnitsInStock: { type: "number", validation: { min: 0, required: true } }<table id="table">
<tr>
<td>
Bank
</td>
<td>
@(Html.Kendo().DropDownList()
.Name("banks")
.OptionLabel("-- Select Item --")
.DataTextField("BankName")
.DataValueField("BankId")
.DataSource(source => {
source.Read(read =>
{
read.Action("GetCascadeBanks", "Home");
});
})
)
</td>
</tr>
<tr>
<td>
Account
</td>
<td>
<script>
function filterAccounts() {
return {
banks: $("#banks").val()
};
}
</script>
@(Html.Kendo().DropDownList()
.Name("accounts")
.OptionLabel("-- Select Item --")
.DataTextField("AccountName")
.DataValueField("AccountID")
.DataSource(source => {
source.Read(read =>
{
read.Action("GetCascadeAccounts", "Home")
.Data("filterAccounts");
})
.ServerFiltering(true);
})
.Enable(false)
.AutoBind(false)
.CascadeFrom("banks")
)
</td>
</tr>
</table>
public JsonResult GetCascadeBanks()
{
var ortbanks = from bank in db.ORTBanks
orderby bank.BankName
select new TreasuryCreateItem()
{
BankID = bank.BankID,
BankName = bank.BankName,
};
return Json(ortbanks, JsonRequestBehavior.AllowGet);
}
public JsonResult GetCascadeAccounts(int banks)
{
var ortaccounts = from account in db.ORTAccounts
where account.AccountName != string.Empty
orderby account.AccountName
select new TreasuryCreateItem()
{
AccountID = account.AccountID,
AccountName = account.AccountName,
};
var accountsInBank = from p in ortaccounts where p.BankID == banks select p;
return Json(accountsInBank, JsonRequestBehavior.AllowGet);
}