Hi, quick question about the scheduler.
When using the calendar button that opens the popup on a mobile device, it will be wrongly positioned a bit offscreen.
This occurs only the first time, all subsequent popping up will position correctly.
This happens with the latest demo : http://demos.telerik.com/kendo-ui/scheduler/mvvm
I tried with a screen width of 320 pixels.
I can initialize the slider from both class and id property.However, I can't get the value when the slider is instantiated from class:
The second console.log below produces "Cannot read property 'value' of undefined"
$("#slider").kendoSlider({
min:0, max:100, value: 10, smallStep: 10, largeStep: 50, showButtons: false});$(".slider").kendoSlider({ min:0, max:100, value: 20, smallStep: 10, largeStep: 50, showButtons: false}); var $sliderFromId = $("#slider").data("kendoSlider");console.log($sliderFromId.value());var $sliderFromClass = $(".slider").data("kendoSlider");console.log($sliderFromClass.value());Hi,
My DataSource is presented below in coffescript. I omit some field for simplicty.
version: Kendo UI v2016.1.412
kendo.data.DataSource({
serverAggregates: true
serverGrouping: true
...
schema:
aggregates: 'aggregates'
data: 'trips'
total: 'total'
model:
id: 'period'
fields:
max_speed: {type:'number'}
avg_speed: {type:'number'}
trip_distance: {type:'number'}
groups: (response) ->
...
transport:
read: (options) -> ...
})
When I export the CSV, I got the error "Uncaught TypeError: Cannot read property 'data' of undefined"
Looking on the kendo Export source code, I found that when the serverGrouping is enabled, it expects an option object defined in the schema.transport parameter. This code is illustrated bellow.
(function ($, kendo) {
kendo.ExcelExporter = kendo.Class.extend({
...
Hi,
My DataSource is presented below in coffescript. I omit some field for simplicty.
version: Kendo UI v2016.1.412
kendo.data.DataSource({
serverAggregates: true
serverGrouping: true
...
schema:
aggregates: 'aggregates'
data: 'trips'
total: 'total'
model:
id: 'period'
fields:
max_speed: {type:'number'}
avg_speed: {type:'number'}
trip_distance: {type:'number'}
groups: (response) ->
...
transport:
read: (options) -> ...
})
When I export the CSV, I got the error "Uncaught TypeError: Cannot read property 'data' of undefined"
Looking on the kendo Export source code, I found that when the serverGrouping is enabled, it expects an option object defined in the schema.transport parameter. This code is illustrated bellow.
(function ($, kendo) {
kendo.ExcelExporter = kendo.Class.extend({
...
var data = dataSource.data();
if (data.length > 0) {
this.dataSource._data = data;
var transport = this.dataSource.transport;
if (dataSource._isServerGrouped() && *transport.options*.data) {
transport.options.data = null;
}
}
...
The avaliable documentation does not have any reference to a parameters transport.options (http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-transport). When I defined transport.options: {}, the CSV export works well.
In this context, I would like to know if there is an error in this implementation or if I made any mistake on defining the datasource.
Best Regards,
I'm using asp.net mvc 5 but I'm using the html5/js widgets though. I would like to have the scheduler open in PDF format in a new tab. Right now its currently opening a save file dialog to allow the user to download the file. I set the proxyTarget to "_blank" like the documentation says. The documentation also mentions setting the Content-Disposition header field but it doesn't really give much detail on that or give any examples. Can someone explain the full process of getting this to work?
Thanks in advanced.
Is there anything in the kendo framework that would cause inconsistency for multi select filters ?
We have a multiselect filter applied to a column (filterable: "Multi") and when we apply a filter before the grid renders using setOptions to restore the grid settings, then we apply a filter using the multiselect we are getting the following after we call dataSource.filters().
*not exact syntax*
filters [
{ filters: [{column: "Column A", value: "x", operator: "eq" }, { column: "Column A", value: "Y", operator: "eq" }], logic: "or" } ]
Logic: "AND"
but if we don't have that filter applied prior to rendering then we don't get the nested filter where the multiselect items are grouped
Can I use the filterable attribute on a markup only list? I suspect the issue is that you will need a model, for the filter to work.
In this example, the list goes empty when trying to write in the filter input
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Kendo UI Snippet</title> <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.412/styles/kendo.common.min.css"/> <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.412/styles/kendo.rtl.min.css"/> <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.412/styles/kendo.silver.min.css"/> <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.412/styles/kendo.mobile.all.min.css"/> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script src="http://kendo.cdn.telerik.com/2016.1.412/js/kendo.all.min.js"></script> </head> <body> <div data-role="view"> <ul data-role="listview" data-filterable="true" data-style="inset"> <li>Foo</li> <li>Bar</li> </ul> </div> <script> new kendo.mobile.Application(); </script> </body> </html>
<div class="row"> <ul class="nav nav-tabs" style="margin-bottom: 10px;"> <li class="active"><a data-toggle="tab" href="#Users">Users</a></li> <li><a data-toggle="tab" href="#Reports">Reports</a></li> <li><a data-toggle="tab" href="#Sections">Sections</a></li> <li><a data-toggle="tab" href="#Charts">Charts</a></li> </ul> <div class="tab-content"> <div id="Users" class="tab-pane fade in active"> <kendo-grid options="userGridOptions"></kendo-grid> </div> <div id="Reports" class="tab-pane fade"> <h3>Report Maintenance</h3> </div> <div id="Sections" class="tab-pane fade"> <h3>Section Maintenance</h3> </div> <div id="Charts" class="tab-pane fade"> <h3>Chart Maintenance</h3> </div> </div></div>$scope.userGridOptions = { dataSource: { transport: { read: "/Home/GetUsers", dataType: "json", type: "POST" }, update: { url: "/Home/UpdateUser", dataType: "json", type: "POST" }, create: { url: "/Home/UpdateUser", dataType: "json", type: "POST" }, parameterMap: function (data, operation) { if (operation !== "read") { return kendo.stringify(data); } }, batch: false, pageSize: 15, schema: { model: { id: "id", fields: { id: { type: "number", editable: false, nullable: true, defaultValue: 0 }, loginName: { type: "string", validation: { required: true } }, firstName: { type: "string", validation: { required: true } }, lastName: { type: "string", validation: { required: true } }, position: { type: "string", validation: { required: true } }, email: { type: "string", validation: { required: true } }, active: { type: "boolean", validation: { required: true }, defaultValue: true}, updatedBy: { type: "string", editable: false, nullable: true }, updatedDtTm: { type: "date", editable: false, nullable: true }, rowVersion: { type: "string", editable: false, nullable: true }, } } } }, height: "500px", selectable: "row", filterable: true, sortable: true, pageable: true, toolbar: ["create"], editable: { mode: "inline", update: true, destroy: false }, columns: [ { field: "id", title: "User ID" }, //, width: "60px" { field: "active", title: "Active", template: '<input type="checkbox" #= active ? "checked=checked" : ""#></input>' }, //width: "80px", { field: "loginName", title: "Login Name" }, //, width: "250px" { field: "firstName", title: "First Name" }, //, width: "200px" { field: "lastName", title: "Last Name" }, //, width: "200px" { field: "position", title: "Position" }, //, width: "200px" { field: "email" }, { command: ["edit"], title: " "} ]};public ActionResult GetUsers(){ List<User> lstUsers = new List<User>(); var users = from rt in ctx.tblUsers orderby rt.NameLast, rt.NameFirst select rt; try { foreach (var item in users) { User userItem = new User(); userItem.ID = item.ID; userItem.LoginName = item.NameLogin; userItem.FirstName = item.NameFirst; userItem.LastName = item.NameLast; userItem.Position = item.Title; userItem.Email = item.Email; userItem.Active = item.Active; userItem.UpdatedBy = item.UpdatedBy; userItem.UpdatedDtTm = item.UpdatedDtTm; userItem.RowVersion = item.RowVersion; lstUsers.Add(userItem); } return GetJsonResult(lstUsers); } catch (Exception ex) { List<string> errors = new List<string>(); errors.Add(ex.Message); if (ex.InnerException != null) errors.Add(ex.InnerException.Message); return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, string.Join("<br />", errors)); }}public ActionResult UpdateUser(User UserData){ try { var results = ctx.usp_Users_Update(UserData.ID, UserData.LastName, UserData.FirstName, UserData.LoginName, UserData.Position, UserData.Email, UserData.Active, UserData.UpdatedBy, UserData.UpdatedDtTm, UserData.RowVersion); return GetJsonResult(results); } catch (Exception ex) { List<string> errors = new List<string>(); errors.Add(ex.Message); if (ex.InnerException != null) errors.Add(ex.InnerException.Message); return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, string.Join("<br />", errors)); }}