The dataSource filter configuration only accepts string as value.
An error is thrown and the MultiSelect does not open.
There should be no error and the MultiSelect should open.
"Currently the custom offline storage does not support asynchronous requests". I received this response from Kendo support is response to an issue we have using SQLite for on offline storage. When we try this with local storage or session storage, dataSource.fetch().then() resolves correctly Please implement with SQLite.
JSON data sources should be nested rather than having to define and parse flat data structures.
When using serverFiltering=true on a listview, if you type quickly 'abcd' the datasource.read is fired 4 consecutive times, making 4 consecutive server requests. There is no cap. 'abcd' can be typed within even 1 second, that will result in 4 server request per second. Now imagine 20 users at the same time typing to filter and each keystroke firing a server request is kind of an unnecessary overload.
One of key areas for enterprises is data security. If we can add the capability of encrypting data via kendo datasource, it would be awesome. This encryption should automatically happen when data is received from a service using the encryption algorithm specified as an attribute of kendo datasource. Similarly, decryption should also happen when the datasource receives the encrypted data.
Send filters even when the server filtering is disabled As its documented on serverFiltering , data parameter contains filter property which follows this schema: filter[logic]: and filter[filters][0][field]: name filter[filters][0][operator]: startswith filter[filters][0][value]: Jane When I set serverFiltering to false, data parameter doesn't contain any information about current filter. (See image attached in my first post) And the only way I have to send the filter option in a different format is querying the DOM input element . Shouldn't it work the same way? no matter whether filtering is set either client-side or server-side?
Currently we can only have the CRUD Operations on the remote data source. Atleast thats what it looks like. Is it possible to have more custom operations on Data source that can make remote calls. Or maybe there are and I am not aware of it.
XML namespaces have a purpose and are extremely useful in maintaining data. The Kendo framework not supporting these is absolute insanity. I'm not interested in rewriting half of my data feeds to support a framework. If Kendo is intended to be "the world's most complete HTML 5 UI Framework," it should be supporting something as basic as this. If there's a valid reason why not to do so, I'd love to hear it.
FYI - There are several related requests that have been voted by 100s of users and marked as completed. However, this support is only at the surface and not complete. We need all kendo components to consistently support binding to more than just primitive properties but at a minimum to models with Id (for reference) and labels (for display). Many kendo components support this simple concept with 'dataTextField' and 'dataValue' field, but as soon as we try to customize something seemingly simple (for example multi-checkbox filters on grid columns) we are left with custom coding because at that point kendo falls back to only supporting simple arrays of strings etc. Thanks.
Something like this: transport: { read: "http://localhost/SentryWebAPI/api/Transactions", datatype: "json", headers: { Authorization: "user/password" } }, NOTE: This syntax actually works now but does not get propagated with the HTTP request Headers. I think this would be a simple fix as JQuery.$ajax supports this. It would make custom transport level security possible. There are a lot of requests for security and this would allow a roll-your-own method.
Currently all "data*-template" options are limited to use ad #ID selector to pick the template script from the page. This is problematic in big SPAs that have multiple pages dynamically loaded with possible collisions in IDs. To avoid the hassle of mantaining unique ids across all pages (or having to dynamically generate ids) I therefore propose to allow for any jQuery selector in those options. <script type="text/template" class="myAwesomeTemplate"></script> <div data-bind="source: dataSource" data-template=".myAwesomeTemplate"></div> To maintain retrocompatibility a first search with the "#" can be performed before executing the selector. Since I am not very good with GitHub, here is the code that I did implement: function parseOptions(element, options) { var result = {}, option, value, templateElement; for (option in options) { value = parseOption(element, option); if (value !== undefined) { if (templateRegExp.test(option)) { templateElement = null; if(!value) { throw new Error("Missing template selector in option " + option); } try { templateElement = $("#" + value); if(!templateElement.length) { templateElement = $(value).first(); } } catch (jQueryError) { throw new Error("Invalid template selector " + value + " for option " + option); } if(!templateElement.length) { throw new Error("Can't find a template with the specified " + value + " selector in option " + option); } value = kendo.template(templateElement.html()); } result[option] = value; } } return result; }
A single managed Ajax / Socket connection (can set for Ajax or Sockets or have it fall back) that you can pass a model to on the client and a command CRUD (Get, Post, Put, Delete) and an ASP.NET WEB API implementation on server side in Web API / Socket. The issue I encounter with DataSources is that you have to set up a connection test it and for every one its more work and testing and possibility of error in the app. I just want a client side connection to Sockets or Web API that I can tell to save something and have to set up and configure this connection once in JS and onece in C# If you pass the Universal Data Source Data Bus a Model a Command (Get, Post, Put, Delete) and a Name / Path for the Model it hits a universal service that processes this it generates a predictable Web API call pattern that Web API can easily be set up to (Controllers to meet) or one big controller
I selected the grid widget for this ticket, but the question is for all widgets with a remote filter service. I'm not finding a way to configure the DataSource to send the field data types, as defined in the schema, along with the filter request. The filter request array includes the field name, field value and ignore case values. It needs to also include the field data type, from the perspective of the DataSource.
I know that I can parse values on the server side to try to guess the data type, as with the example applications, but that's not reliable in all cases, and I don't want to do that. It's better to know the field type based on the perspective of the widget.
Hopefully I'm just missing the DataSource configuration option to 'Include Field Data Types in Filtering Requests'. If that doesn't exist, please add it as an enhancement request, and let me know the most effective way to accomplish this that will work for all widget and data source combinations. I figured out that I can do this with a grid:
parameterMap: function (data, type) {
var fields = $("#grid").data("kendoGrid").dataSource.options.schema.model.fields;
var types = {};
for (let key in fields) {
types[key] = fields[key].type;
}
return $.extend({types}, data);
}
But I also have a Kendo Form with a form field edit of type MultiColumnComboBox, and the same approach will probably work, but I have to figure out how to get at the schema configuration in that case, and probably other combinations in the future.
Hi, I am using the AJAX data source for grid which is great since I don't have to requery for filter, sort, and paging functions. However, if the grid could use this same datasource for the filter autocomplete feature, I would greatly appreciate it because right now the grid is re-hitting the datasource for this.
The filter row is really nice, but for more flexibility it'd be nice to not hit the server until a user has populated the row with all the filters they want. The way it works now is if you tab out/hit enter/select dropdown list item/etc. it hits the server. The ability to filter when the user explicitly wants to isn't really there.
Hello, I knew there was "set" function for kendo.data.ObservableObject, it could change value of specified field. But after this action, we need call "sync" method for data source manually, and sync action will fire some events/ data bound again. Is there another method, that we only hope sync value of specified field, without fire events and data bound again? Thank you.
Currently kendo.DataSource.get() and kendo.Datasource.getByUid() methods are very slow in case there some non-trivial amount of data stored. Actually, these methods loop on all items in dataSource on each call. Why not add index for id field? Indexed access can boost up many real-life scenarios. I prepared following jsfiddle to demonstrate the slowness: http://jsfiddle.net/terikon/eb3tsjzf/9/
Add Event handlers after Batch Edit, Save Changes
We have a MVVM object with a change handler. One of the public properties on this MVVM object is a datasource. This datasource has some default aggregate configuration, but some aggregate configuration is added later. (see first screenshot) However, when the dataSource.aggregate(..) method is called the MVVM's change handler fires (see second screenshot). This is ok, but there is nothing to distinguish that the change handler has been fired ONLY because the aggregate configuration has changed. When run some code when the datasource is defined or loaded, but we don't want to run the same code when the aggregates changes. Vice-versa someone might want to run just a smaller piece of code when the aggregate config changes. Can the event that gets fired to the mvvm change binding have an e.action = 'aggregate' or similar?
When retrieving data from a remote datasource with a fetchxml via soap that include link entites you get objects that have property names that contain dots like "account.accountid" for example. That doesn't work with Kendo Grid for example. Kendo always tries to go one level deeper if the property name contains a dot. Hence you always have to parse/refactor the results of a retrieve.