$(document).ready(function () { $("#grid").kendoGrid({ dataSource: { type: "json", transport: { read: { url: '<%= Url.Action("GetDepartmentOffers", "Projects") %>', dataType: "json", type: "POST", data: { departmentId: 1, filter: 'all' } } }, schema: { model: { fields: { status: { type: "string" }, ResponsibleUserName: { type: "string" }, OfferNumber: { type: "string" }, DueDate: { type: "date" }, ContactPhone: { type: "string" }, CompanyName: { type: "string" }, ContactPerson: { type: "string" }, ContactEmail: { type: "string" }, Description: { type: "string" }, SalesPrice: { type: "string" }, Coverage: { type: "string" } } }, total: function () { return 4677; } }, pageSize: 50, serverPaging: false, serverFiltering: false, serverSorting: false }, autoBind: true, groupable: true, sortable: true, reorderable: true, resizable: true, pageable: { messages: { // To be translated display: "kendo.data.DataSource - {1} of {2} items", empty: "No items to display", page: "Page", of: "of kendo.data.DataSource", itemsPerPage: "visninger på hver side.", first: "Gå til første side.", previous: "Gå til forrige side.", next: "Go to the next page", last: "Go to the last page", refresh: "Refresh" }, refresh: true, pageSizes: true, pageSizes: [10, 20, 50, 100] }, columns: [ { field: "status", width: 90, title: '<%= Global.State %>' }, { field: "", width: 90, title: '<%= Global.Actions %>' }, { field: "ResponsibleUserName", width: 100, title: '<%= OffersOverview.ColumnHeaderUser %>' }, { field: "OfferNumber", width: 100, title: '<%= OffersOverview.ColumnHeaderOfferNumber %>' }, { field: "DueDate", width: 100, title: '<%= Global.DueDate %>', format: "{0:" + settings.dateFormat + "}" //format: //"{0:MM/dd/yyyy}" }, { field: "ContactPhone", width: 100, title: '<%= Global.ContactPhone %>' }, { field: "CompanyName", width: 100, title: '<%= Global.Company %>' }, { field: "ContactPerson", width: 100, title: '<%= Global.ContactPerson %>' }, { field: "ContactEmail", width: 100, title: '<%= Global.ContactMail %>' }, { field: "Description", width: 100, title: '<%= Global.Description %>' }, { field: "SalesPrice", width: 100, title: '<%= Global.SalesPrice %>' }, { field: "Coverage", width: 100, title: '<%= Global.Coverage %>' } ] }); });
$(document).ready(function () {
var start = $("#start").kendoDatePicker();
var end = $("#end").kendoDatePicker();
$("#load").click(function () {
orderDataSource.read();
});
var orderDataSource = new kendo.data.DataSource({
pageSize: 10,
transport: {
read: {
url: MyOrdersUrl,
contentType: "application/json; charset=utf-8",
dataType: "json",
data: {
start: function () { return $("#start").val(); },
end: function () { return $("#end").val(); }
}
}
},
schema: {
data: "d",
model: {
fields: {
Id: { type: "number" },
d_OrderDate: { type: "date", parse: parseJSONDate },
d_DueDate: { type: "date", parse: parseJSONDate },
Phone: { type: "text" },
Type: { type: "text" }
}
}
},
});
var grid = $("#grid").kendoGrid({
dataSource: orderDataSource,
autoBind: true,
filterable: true,
columnMenu: true,
sortable: true,
pageable: true,
columns: [
{ field: "Id" },
{ field: "d_OrderDate", title: "Order Date", format: "{0:MM/dd/yyyy}" },
{ field: "d_DueDate", title: "Due Date", format: "{0:MM/dd/yyyy}" },
{ field: "Type" },
{ command: { text: "View Details", click: showOrder }, title: " ", width: "140px" }
]
}).data("kendoGrid");
});
<!-- grid element -->
<
div
id
=
"grid"
style
=
"width: 700px; margin: 0 auto;"
></
div
>
<!-- popup editor template -->
<
script
id
=
"popup_editor"
type
=
"text/x-kendo-template"
>
<
p
>Custom editor template</
p
>
<
div
class
=
"k-edit-label"
>
<
label
for
=
"FirstName"
>First Name</
label
>
</
div
>
<!-- autoComplete editor for field: "FirstName" -->
<
input
name
=
"FirstName"
data-bind
=
"value:FirstName"
data-value-field
=
"firstName"
data-text-field
=
"firstName"
data-source
=
"autoCompleteDS"
data-role
=
"autocomplete"
/>
<
div
class
=
"k-edit-label"
>
<
label
for
=
"LastName"
style
=
"color: red;"
>Last Name</
label
>
</
div
>
<!-- dropdownlist editor for field: "LastName" -->
<
input
name
=
"LastName"
data-bind
=
"value:LastName"
data-value-field
=
"lastName"
data-text-field
=
"lastName"
data-source
=
"dropDownListDS"
data-role
=
"dropdownlist"
/>
<
div
class
=
"k-edit-label"
>
<
label
for
=
"BirthDate"
>Birth Date</
label
>
</
div
>
<!-- datepicker editor for field: "BirthDate" -->
<
input
type
=
"text"
name
=
"BirthDate"
data-type
=
"date"
data-bind
=
"value:BirthDate"
data-role
=
"datepicker"
/>
<
div
class
=
"k-edit-label"
>
<
label
for
=
"Age"
>Age</
label
>
</
div
>
<!-- numeric textbox editor for field: "Age" -->
<
input
type
=
"text"
name
=
"Age"
data-type
=
"number"
data-bind
=
"value:Age"
data-role
=
"numerictextbox"
/>
</
script
>
var
autoCompleteDS =
new
kendo.data.DataSource({
data: [
{firstName:
"Alex"
},
{firstName:
"Alice"
},
{firstName:
"Antony"
},
{firstName:
"Anne"
},
{firstName:
"Anna"
}
]
});
var
dropDownListDS =
new
kendo.data.DataSource({
data: [
{lastName:
"Alex"
},
{lastName:
"Alice"
},
{lastName:
"Antony"
},
{lastName:
"Anne"
},
{lastName:
"Anna"
}
]
});
.......
editable: {
mode:
"popup"
,
template: $(
"#popup_editor"
).html()
},
edit:
function
(e) {
$(e.container)
.find(
"input[name='FirstName']"
)
.data(
"kendoAutoComplete"
)
.find(
"input[name='LastName']"
)
.data(
"kendoDropDownList"
)
.bind(
"change"
,
function
(e) {
console.log(
"auto complete changed"
);
});
},
....