$("#listView").kendoListView({ pageable: true, selectable: 'single', navigatable: false, editable: true, dataSource: viewModel.dataSource, template: $("#customListViewTemplate").html(), altTemplate: $("#customListViewTemplateAlt").html(), editTemplate: $("#editTemplate").html() });<!DOCTYPE html ><html ><head> <title></title> <script src="js/jquery.min.js" type="text/javascript"></script> <script src="js/kendo.all.min.js" type="text/javascript"></script> <link href="styles/kendo.mobile.all.min.css" rel="stylesheet" type="text/css" /><style>html,body{ width:100%;} </style> </head><body> <div data-role="view" id="main" data-layout="mobile-view" data-stretch="true"> <div style="background-image:url('images/Green Stripy Wallpapers.jpg');"> <a data-role="button" style="width:100%;">Button</a> <div id="example" class="k-content" style="width:100%; background:white;"> <div> <div id="chart" style="width:100%;"></div> </div> </div> </div> </div> <script type="text/javascript"> function createChart() { $("#chart").kendoChart({ theme: $(document).data("kendoSkin") || "default", title: { text: "Internet Users" }, legend: { position: "bottom" }, chartArea: { background: "" }, seriesDefaults: { type: "bar" }, series: [{ name: "World", data: [15.7, 16.7, 20, 23.5, 26.6] }, { name: "United States", data: [67.96, 68.93, 75, 74, 78]}], valueAxis: { labels: { format: "{0}%" } }, categoryAxis: { categories: [2005, 2006, 2007, 2008, 2009] }, tooltip: { visible: true, format: "{0}%" } }); } $(document).ready(function() { var app = new kendo.mobile.Application(); setTimeout(function() { // Initialize the chart with a delay to make sure // the initial animation is visible createChart(); $("#example").bind("kendo:skinChange", function(e) { createChart(); }); }, 400); });</script></body></html>With the Telerik KendoUI web Grid control, what are the requirements for us to get a value for filtering dates when using serverside filtering?
What we see when we filter on other columns - which is great, as we can easily parse this (strings for example) is:
|
filter[filters][0][field] |
|
filter[filters][0][operator] |
|
filter[filters][0][value] |
|
filter[logic] |
What we see when we filter on date columns is - there is no value to parse out here: (note: the value is missing for this date filter, but it was not missing in the string filter).
|
filter[filters][0][field] |
|
filter[filters][0][operator] |
|
filter[logic] |
Additional information about how we are using the date column in our grid:
Initialized with this column as a date:
field: "LastUpdated", title: "Updated", format: "{0:MM/dd/yyyy}"
Datasource for this grid has this column as a date:
LastUpdated: { type: "date", nullable: true }
Thank you,
Chris
<div id="example" class="k-content"> <div id="tweets-container" class="k-header k-menu-vertical"> <h3> Twitter feed</h3> <div id="search-box"> <label> Search for: <input type="text" value="html5" id="searchfor" class="k-textbox" /> </label> <button class="k-button" id="search"> search</button> </div> <div id="tweets"> <div> Loading ... </div> </div> </div> <script id="template" type="text/x-kendo-template"> <div class="tweet k-header"> <img width="48" height="48" src="#= profile_image_url #" alt="#= from_user #" /> #= FirstVal # </div> </script> <script> $(document).ready(function () { // create a template using the above definition var template = kendo.template($("#template").html()); var Product = kendo.data.Model.define({ id: "FirstID", fields: { "FirstVal": { type: "string" }, "SecondVal": { type: "string" } } }); var dataSource = new kendo.data.DataSource({ transport: { read: { url: "/ws/getservice.asmx/GetAllTestimonials", // the remove service url data: "{}", contentType: "application/json; charset=utf-8", dataType: "json", // JSONP (JSON with padding) is required for cross-domain AJAX complete: function(data,xhr){ result = JSON.parse(data.d.resposeText); } } }, change: function () { // subscribe to the CHANGE event of the data source $("#tweets").html(kendo.render(template, dataSource.view())); } }); // read data from the remote service dataSource.read(); $("#search").click(function () { dataSource.read(); }); $("#searchfor").keydown(function (e) { if (e.keyCode === kendo.keys.ENTER) { dataSource.read(); } }); }); </script>[{"FirstID":1,"FirstVal":"Test","SecondVal":"TestOne"},{"FirstID":2,"FirstVal":"Test","SecondVal":"TestTwo"}]<input id="gradeCombo" data-role="combobox" data-bind="value: source.gradeValue"/><input id="gradeCombo" data-role="combobox" data-bind="value: source.gradeValue, text: source.gradeText"/>I have some working code which I am trying to convert to use the MVVM pattern. My code looks like the following:
To start with, I have a div tag like the following:
<div id="MyDiv" data-template="template" ></div>
My template looks like the following:
<script type="text/x-kendo-template" id="template">
<table>
<tr>
<td>My Numbers: </td>
#for (var i = 0; i < data.length; i++){#
<td><input type="text" value=#= data[i] # /></td>
#}#
</tr>
</table>
</script>
Finally the following script provides data to the template:
<script>
var rowTemplate = kendo.template($("#template").html());
function display() {
$("#MyDiv").html(rowTemplate({
data: ["1.2", "2.3", "3.4"]
}));
}
display();
</script>
When I run, the output shows the numbers 1.2, 2.3 and 3.4 in 3 inputboxes (each of which appears in 3 separate <td> tags) against a label, like the following:
My Numbers: 1.2 2.3 3.4
I have been trying to convert the above code to an MVVM pattern, but somewhy not getting it right. Could someone please guide me how to do this correctly?
@(Html.Kendo().Grid(Model.Companies) .Name("ClientBindGrid") .Columns(columns => { columns.Bound(c => c.CompanyName); columns.Bound(c => c.State); }) .Groupable() .Pageable() .Sortable() .Scrollable() .Filterable() .DataSource(dataSource => dataSource .Ajax() .ServerOperation(false) // paging, sorting, filtering and grouping will be applied client-side .Read(read => read.Action("GetCompanies", "ManageCompanies", new { area = "api" })) ))<div class="k-widget k-grid" id="ClientBindGrid"><div class="k-grouping-header">Drag a column header and drop it here to group by that column</div><div class="k-grid-header"><div class="k-grid-header-wrap"><table cellspacing="0"><colgroup><col /><col /></colgroup><tr><th class="k-header k-filterable" data-field="CompanyName" data-title="Company Name" scope="col"><a class="k-grid-filter"><span class="k-icon k-filter"></span></a><a class="k-link" href="http://localhost:2337/CompanyMgmt/ManageCompanies">Company Name</a></th><th class="k-header k-filterable" data-field="State" data-title="State" scope="col"><a class="k-grid-filter"><span class="k-icon k-filter"></span></a><a class="k-link" href="http://localhost:2337/CompanyMgmt/ManageCompanies">State</a></th></tr></table></div></div><div class="k-grid-content" style="height:200px"><table cellspacing="0"><colgroup><col /><col /></colgroup><tbody><tr><td>H&H</td><td>CO</td></tr><tr class="k-alt"><td>H&H3333</td><td>CO</td></tr></tbody></table></div><div class="k-pager-wrap k-grid-pager"><a class="k-link k-state-disabled" data-page="1" href="#" title="Go to the first page"><span class="k-icon k-i-seek-w">seek-w</span></a><a class="k-link k-state-disabled" data-page="0" href="#" title="Go to the previous page"><span class="k-icon k-i-arrow-w">arrow-w</span></a><ul class="k-pager-numbers k-reset"><li><span class="k-state-selected" data-page="1">1</span></li></ul><a class="k-link k-state-disabled" data-page="2" href="#" title="Go to the next page"><span class="k-icon k-i-arrow-e">arrow-e</span></a><a class="k-link k-state-disabled" data-page="1" href="#" title="Go to the last page"><span class="k-icon k-i-seek-e">seek-e</span></a><span class="k-pager-info k-label">1 - 2 of 2 items</span></div></div><script> jQuery(function(){jQuery("#ClientBindGrid").kendoGrid({"columns":[{"title":"Company Name","field":"CompanyName","encoded":true},{"title":"State","field":"State","encoded":true}],"groupable":{},"pageable":{"buttonCount":10},"sortable":true,"filterable":true,"dataSource":{"transport":{"read":{"url":""}},"pageSize":10,"page":1,"total":2,"type":"aspnetmvc-ajax","schema":{"data":"Data","total":"Total","errors":"Errors","model":{"fields":{"CompanyID":{"type":"number"},"CompanyName":{"type":"string"},"Address1":{"type":"string"},"Address2":{"type":"string"},"City":{"type":"string"},"State":{"type":"string"},"PostalCode":{"type":"string"},"ItemMargin":{"type":"number"},"ServicesMargin":{"type":"number"},"InvoiceTimeIncrement":{"type":"number"},"CashDiscountPct":{"type":"number"},"BaseServiceHourlyRate":{"type":"number"},"HourlyPremiumRush":{"type":"number"},"HourlyPremiumLate":{"type":"number"},"HourlyPremiumCustomerMaterial":{"type":"number"},"CreatedByID":{"type":"number"},"CreatedOn":{"type":"date"},"ModifiedBy":{"type":"number"},"ModifiedOn":{"type":"date"},"UserProfile":{"type":"object"},"UserProfile1":{"type":"object"},"FullAddress":{"editable":false,"type":"string"}}}},"data":{"Data":[{"CompanyID":2,"CompanyName":"H\u0026H","Address1":"123 Mockinbird Lane","Address2":null,"City":"Denver","State":"CO","PostalCode":"12345","ItemMargin":0,"ServicesMargin":0,"InvoiceTimeIncrement":0,"CashDiscountPct":0,"BaseServiceHourlyRate":0,"HourlyPremiumRush":0,"HourlyPremiumLate":0,"HourlyPremiumCustomerMaterial":0,"CreatedByID":0,"CreatedOn":"\/Date(-62135571600000)\/","ModifiedBy":0,"ModifiedOn":"\/Date(-62135571600000)\/","UserProfile":null,"UserProfile1":null,"FullAddress":"Denver, CO 12345"},{"CompanyID":3,"CompanyName":"H\u0026H3333","Address1":"123 Mockinbird Lane","Address2":null,"City":"Denver","State":"CO","PostalCode":"12345","ItemMargin":0,"ServicesMargin":0,"InvoiceTimeIncrement":0,"CashDiscountPct":0,"BaseServiceHourlyRate":0,"HourlyPremiumRush":0,"HourlyPremiumLate":0,"HourlyPremiumCustomerMaterial":0,"CreatedByID":0,"CreatedOn":"\/Date(-62135571600000)\/","ModifiedBy":0,"ModifiedOn":"\/Date(-62135571600000)\/","UserProfile":null,"UserProfile1":null,"FullAddress":"Denver, CO 12345"}],"Total":2}}});});</script>