@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);
}