or
01.var dataSource = new kendo.data.DataSource({02. type: "odata",03. transport: {04. read: {05. url: listUrl,06. type: "GET",07. dataType: "json",08. contentType: "application/json;odata=verbose",09. headers: {10. "accept": "application/json;odata=verbose"11. }12. },13. create: {14. url: listUrl,15. type: "POST",16. dataType: "json",17. contentType: "application/json;odata=verbose",18. headers: {19. "accept": "application/json;odata=verbose",20. "X-RequestDigest": $("#__REQUESTDIGEST").val(),21. }22. },23. update: {24. url: function (data) {25. return listUrl + "(" + data.ID + ")";26. },27. beforeSend: function (jqXhr, options) {28. 29. var data = JSON.parse(options.data);30. 31. jqXhr.setRequestHeader("If-Match", data.__metadata.etag);32. 33. },34. type: "POST",35. dataType: "json",36. contentType: "application/json;odata=verbose",37. headers: {38. "accept": "application/json;odata=verbose",39. "X-RequestDigest": $("#__REQUESTDIGEST").val(),40. "X-HTTP-Method": "MERGE"41. },42. },43. destroy: {44. url: function (data) {45. return listUrl + "(" + data.ID + ")";46. },47. type: "DELETE",48. dataType: "json",49. contentType: "application/json;odata=verbose",50. headers: {51. "accept": "application/json;odata=verbose",52. "X-RequestDigest": $("#__REQUESTDIGEST").val(),53. "X-HTTP-Method": "MERGE",54. "If-Match": "*"55. }56. }57. },58. pageSize: 20,59. schema: {60. data: "d.results",61. model: {62. id: "ID",63. fields: {64. ID: { editable: false, nullable: false },65. Title: { validation: { required: true } },66. Body1: { validation: { required: true } },67. Votes: { type: "number", validation: { required: true, min: 1 } },68. }69. }70. }71. });<string xmlns="http://yaddayaddayadda.com/"> [{"title":"Stuff","value":"Here's some stuff"}]</string>[WebService(Namespace = "http://yaddayaddayadda.com/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] [ScriptService] public class websiteWebService : System.Web.Services.WebService { [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public string GetStuff(int stuff_id) { SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["stuff"].ConnectionString); connection.Open(); SqlCommand command = new SqlCommand("o_get_stuff", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("@stuff_id", stuff_id); SqlDataReader dr = command.ExecuteReader(); DataTable dt = new DataTable("Stuff"); dt.Load(dr); dr.Close(); connection.Close(); List<Dictionary<string, object>> rows = new
List<Dictionary<string, object>>(); Dictionary<string, object> row = new
Dictionary<string, object>(); foreach (DataRow datarow in dt.Rows) { row = new Dictionary<string, object>(); foreach (DataColumn col in dt.Columns) { row.Add(col.ColumnName, datarow[col]); } rows.Add(row); } JavaScriptSerializer serializer = new JavaScriptSerializer(); string jsonData = serializer.Serialize(rows); return jsonData; } }}<script type="text/javascript"> $(document).ready(function () { $("#stuffSelector").kendoDropDownList({ dataTextField: "title", dataValueField: "value", dataSource: { transport: { read: { contentType: "application/json", type: "POST", url: "http://localhost:23035/Services/websiteWebService.asmx/GetStuff", data: { stuff_id: "0" } } } } }); }); </script><script id="WorkOrderGridRowTemplate" type="text/x-kendo-template"> <tr> <td> ${workorderreference} </td> <td> ${clientdestination} </td> <td> ${productreference} </td> <td> ${orderquantity} </td> <td> ${unitofmeasure} </td> <td> ${releasedate} </td> <td> ${quotedduedate} </td> <td> ${currentsequenceindex} </td> <td> # if (bufferpenetrationpercentage > 100) { # <span class="bufferPenetrationBlack">${bufferpenetrationpercentage}</span> # } else if (bufferpenetrationpercentage > 66) { # <span class="bufferPenetrationRed">${bufferpenetrationpercentage}</span> # } else if (bufferpenetrationpercentage > 33) { # <span class="bufferPenetrationYellow">${bufferpenetrationpercentage}</span> # } else if (bufferpenetrationpercentage > 0) { # <span class="bufferPenetrationGreen">${bufferpenetrationpercentage}</span> # } else if (bufferpenetrationpercentage <= 0) { # <span class="bufferPenetrationBlue">${bufferpenetrationpercentage}</span> # } else { # ERROR: ${ bufferpenetrationpercentage } # } # </td> </tr> </script>$("#divWorkOrderGrid").kendoGrid({ dataSource: { data: <%= _JsWorkOrderRecords %> }, rowTemplate: kendo.template($("#WorkOrderGridRowTemplate").html()), height: "auto", scrollable: false, sortable: true, groupable: true, pageable: false, columns: [ { field: "workorderreference", title: "W/O Ref." }, { field: "clientdestination", title: "Client/Destination" }, { field: "productreference", title: "Product Ref." }, { field: "orderquantity", title: "Order Quantity" }, { field: "unitofmeasure", title: "UoM" }, { field: "releasedate", title: "Release Date" }, { field: "quotedduedate", title: "Quoted Due Date" }, { field: "currentsequenceindex", title: "Current Sequence Index" }, { field: "bufferpenetrationpercentage", title: "Buffer Penetration (%)" } ] }); function playVideoNow() { jwplayer("details-container").setup({ file: "https://www.contoso.com/example.m4v", image: "https://www.contoso.com/example.png"}); <script type="text/x-kendo-template" id="template"> <div id="details-container"> <h2>Video Name</h2> <em>Video Date</em> <dl> <dt>Some Info: </dt> <dt>Some More Info:</dt> </dl> </div># window.onload = playVideoNow() # </script>