@(Html.Kendo().Grid<ModelApp.Models.Tickets>().Name("ticketgrid").Columns(columns => { columns.Bound(p => p.TicketID).Title("ID").Width(100); columns.ForeignKey(p => p.CustomerID, (System.Collections.IEnumerable)ViewData["customers"], "CustomerID", "CustomerName").Title("Customer").Width(200) ; columns.ForeignKey(p => p.AreaOfBusinessID, (System.Collections.IEnumerable)ViewData["areaofbusinesses"], "AreaOfBusinessID", "AreaOfBusiness1").Title("AreaOfBusiness").Width(100); columns.Bound(p => p.OccurredOn).Title("Occured").Format("{0:yyyy-MM-dd}").Width(150); columns.ForeignKey(p => p.SeverityID, (System.Collections.IEnumerable)ViewData["severities"], "SeverityID", "Severity1").Title("Severity").Width(100); columns.ForeignKey(p => p.AssigneeID, (System.Collections.IEnumerable)ViewData["assignees"], "AssigneeID", "AssigneeName").Title("Assignee").Width(100); columns.ForeignKey(p => p.TicketStatusID, (System.Collections.IEnumerable)ViewData["ticketstatuses"], "TicketStatusID", "TicketStatus1").Title("Status").Width(100); columns.Bound(p => p.UserID).Title("User").Width(100); columns.Bound(p => p.DateRegistered).Title("Registered").Format("{0:yyyy-MM-dd}").Width(150);}) .ClientDetailTemplateId("ticketdetailTemplate").DataSource(dataSource => dataSource.Ajax() //.Filter(filter => filter.Add(e => e.CustomerID).IsEqualTo(CustomerID)).Model(model=>{ model.Id(p => p.TicketID); model.Field(p=>p.TicketID).Editable(false); model.Field(p => p.CustomerID); model.Field(p => p.AreaOfBusinessID); model.Field(p => p.OccurredOn); model.Field(p => p.SeverityID); model.Field(p => p.AssigneeID); model.Field(p => p.TicketStatusID); model.Field(p => p.UserID); model.Field(p => p.DateRegistered).DefaultValue(DateTime.Now); }).Read(read => read.Action("Index","Ticket")).Create(create => create.Action("Create", "Ticket")).Update(update => update.Action("Edit", "Ticket"))//.Destroy(destroy => destroy.Action("Delete", "Ticket")) ) .Pageable() .Navigatable() .Selectable() .Sortable() .Editable(editing => editing.Mode(GridEditMode.InCell)) .ToolBar(toolbar => { toolbar.Create(); toolbar.Save(); }) )<script id="ticketdetailTemplate" type="text/kendo-tmpl"> @(Html.Kendo().Grid<ModelApp.Models.TicketsDetails>() .Name("ticketdetailgrid") .Columns(columns => { columns.Bound(o => o.TicketsDetailID).Title("ID").Width(100); columns.Bound(o => o.TicketID).Title("Ticket").Width(150); // columns.ForeignKey(o => o.CustomerContactID, (System.Collections.IEnumerable)ViewData["customercontacts"], "CustomerContactID", "CustomerContactName").Title("CustomerContact").Width(150) ; columns.ForeignKey(o => o.TicketsDetailsViaID, (System.Collections.IEnumerable)ViewData["ticketsdetailsvia"], "TicketsDetailsViaID", "TicketsDetailsVia1").Title("Via").Width(100) ; columns.Bound(o => o.TicketsDetailsDesciption).Title("Description").Width(300); columns.Bound(o => o.TicketsdetailsNotes).Title("Notes").Width(200); columns.Bound(o => o.UserID).Title("User").Width(100); columns.Bound(o => o.DateTimeStart).Format("{0:yyyy-MM-dd hh:mm}").Title("Start").Width(150); columns.Bound(o => o.DateTimeFinish).Format("{0:yyyy-MM-dd hh:mm}").Title("Finish").Width(150); columns.Bound(o => o.DateRegistered).Format("{0:yyyy-MM-dd hh:mm}").Title("Registered").Width(150); }) .DataSource(dataSource => dataSource .Ajax() .Model (model => { model.Id(q => q.TicketsDetailID); model.Field(q => q.TicketsDetailID).Editable(false);
//I want the DefaultValue here model.Field(q => q.TicketID);
model.Field(q => q.CustomerContactID); model.Field(q => q.TicketsDetailsDesciption); model.Field(q => q.TicketsdetailsNotes); model.Field(q => q.UserID); model.Field(q => q.DateTimeStart).DefaultValue(DateTime.Now); model.Field(q => q.DateTimeFinish).DefaultValue(DateTime.Now); model.Field(q => q.DateRegistered).DefaultValue(DateTime.Now); }) .Read(read => read.Action("TicketsDetailsRead", "Ticket", new { ticketID = "#=TicketID#" })) .Update(update => update.Action("TicketsDetailsEdit", "Ticket")) .Create(update => update.Action("TicketsDetailsCreate", "Ticket", new { ticketID = "#=TicketID#" })) ) .Pageable() .Sortable() .Editable(editing => editing.Mode(GridEditMode.InCell)) .ToolBar(toolbar => { toolbar.Create(); toolbar.Save(); }) .ToClientTemplate() )</script> $(document).ready(function() {
var element = $("#qcgrid").kendoGrid({
dataSource: {
type: "json",transport: {
read: {url: "/backoffice/archiveitemlist"},
update: {url: "/backoffice/qcupdate"},
destroy: {url: "/backoffice/qcdestroy"},
parameterMap: function(options, operation) {
if (operation !== "read" && options.models) {
return {models: kendo.stringify(options.models)};
}
}
},
pageSize: 6,
batch: true,
schema: {
model: {
id: "FileName",
fields: {
Description: {},
catdescription: {},
catsubdescription: {},
StartDate: {},
EndDate: {},
StartYear:{},
EndYear:{},
}
}
}
},
height: 450,
//sortable: true,
//pageable: true,
detailTemplate: kendo.template($("#mytemplate").html()),
detailInit: detailInit,
dataBound: function() {
this.expandRow(this.tbody.find("tr.k-master-row").first());
},
columns: [
// {
// field: "ArchiveItemId",
// title: "ArchiveItemId"
// },
{
field: "FileName",
},
{
field: "Description",
},
{
field: 'catdescription',
title: "Category",
editor: function(container, options) {
// create first box of a KendoUI cascading combobox widget as column editor
$('<input name="' + options.field + '"/>').appendTo(container).kendoComboBox({
placeholder: "Select category...",
dataTextField: "Category",
dataValueField: "CategoryId",
dataSource: {
type: "JSON",
serverFiltering: true,
transport: {
read: "/backoffice/categories.json"
}
}
});
}
},
{
field: 'catsubdescription',
title: "SubCategory",
editor: function(container, options) {
// create second cascading combobox widget
$('<input name="' + options.field + '"/>').appendTo(container).kendoComboBox({
autoBind: false,
cascadeFrom: "catdescription",
placeholder: "Select subcategory...",
dataTextField: "SubCategory",
dataValueField: "SubCategoryId",
dataSource: {
type: "JSON",
serverFiltering: true,
transport: {
read: "/backoffice/subcategories.json?filter[filters][0][value]=" //No value is being appended here
}
}
}).data("kendoComboBox");
}
},kendo.django_stores = {};kendo.django_stores.RoomTypeDataStore = new kendo.data.DataSource({ "sort": [], "serverPaging": false, "serverFiltering": false, "serverSorting": false, "pageSize": null, "transport": { "read": { "dataType": "json", "type": "GET" }, "destroy": { "dataType": "json", "type": "POST" }, "create": { "dataType": "json", "type": "POST" }, "update": { "dataType": "json", "type": "POST" } }, "schema": { "type": "json", "model": { "fields": { "capacity": { "nullable": false, "defaultValue": 0, "editable": true, "values": [], "validation": { "required": true }, "type": "number" }, "name": { "nullable": false, "defaultValue": null, "editable": true, "values": [ { "text": "Single room", "value": "single" }, { "text": "Double room", "value": "double" } ], "validation": { "required": true }, "type": "string" }, "hotel": { "nullable": false, "defaultValue": null, "editable": true, "values": [], "validation": { "required": true }, "type": "string" }, "pk": { "editable": false, "nullable": true }, "breakfast": { "nullable": false, "defaultValue": null, "editable": true, "values": [ { "text": "With breakfast", "value": "breakfast" }, { "text": "With continential breakfast", "value": "continential" }, { "text": "With buffet breakfast", "value": "buffet" }, { "text": "With English breakfast", "value": "English" }, { "text": "Without breakfast", "value": "without" } ], "validation": { "required": true }, "type": "string" }, "id": { "nullable": false, "defaultValue": null, "editable": true, "values": [], "validation": { "required": false }, "type": "string" } }, "id": "pk" }, "total": "total", "data": "results" }});<div id="rooms_grid"></div>$(document).ready(function() { var RoomTypeDataStore = kendo.django_stores.RoomTypeDataStore; var fields = RoomTypeDataStore.options.schema.model.fields; $('#rooms_grid').kendoGrid({ dataSource: RoomTypeDataStore, height: 800, sortable: true, scrollable: true, editable: 'popup', destroyable: true, toolbar: ["create"], columns: [ {field: "name", title: "Name", values: fields.name.values}, {field: "capacity", title: "Capacity", format: "{0:n0}"}, {field: "breakfast", title: "Breakfast", values: fields.breakfast.values}, {command: ["edit", "destroy"]} ] });});<link href="./static/styles/kendo.common.min.css" rel="stylesheet" type="text/css"><link href="./static/styles/kendo.default.min.css" rel="stylesheet" type="text/css"><script type="text/javascript" src="./static/js/jquery.js" charset="utf-8"></script><script type="text/javascript" src="./static/js/kendo.web.min.js" charset="utf-8"></script> @(Html.Kendo().Menu()
.Name("Menu")
.Items(items =>
{
items.Add()
.Text("Menu Option 1")
.Items(children =>
{
children.Add().Text("Submenu 1-1")
.Items(innerChildren =>
{
innerChildren.Add().Text("Submenu 1-1 Option 1");
innerChildren.Add().Text("Submenu 1-1 Option 2");
innerChildren.Add().Text("Submenu 1-1 Option 3");
});
children.Add().Text("Submenu 1-2")
.Items(innerChildren =>
{
innerChildren.Add().Text("Submenu 1-2 Option 1");
innerChildren.Add().Text("Submenu 1-2 Option 2");
});
children.Add().Text("Submenu 1-3")
.Items(innerChildren =>
{
innerChildren.Add().Text("Submenu 1-3 Option 1");
innerChildren.Add().Text("Submenu 1-3 Option 2");
});
});
items.Add()
.Text("Menu Option 2")
.Items(children =>
{
children.Add().Text("Submenu 2-1")
.Items(innerChildren =>
if (that._selectedIndex > -1) { that._triggerCascade() }$.when ( $.get ('/cgi/initialValues') ).done ( loadDDL );// initialValues is expected to output json of construct {DDL1:text1, DDL2:text2, DDL3:text3}function LoadDDL (initial) { $('#DDL1').kendoDropDownList ({ dataSource: ... databound: function (e) {if (initial.DDL1) {var text=initial.DDL1;initial.DDL1=null;e.sender.search(text);}} }); $('#DDL2').kendoDropDownList ({ dataSource: ... cascadeFrom: 'DDL1' databound: function (e) {if (initial.DDL2) {var text=initial.DDL2;initial.DDL2=null;e.sender.search(text);}} }); $('#DDL3').kendoDropDownList ({ dataSource: ... cascadeFrom: 'DDL2' databound: function (e) {if (initial.DDL3) {var text=initial.DDL3;initial.DDL3=null;e.sender.search(text);}} change: doSomethingElse }); var doSomethingElse = function() { // I can operate knowing the DDLs were populated and cascaded in a 1,2,3 manner }}