I can't seem to see a way to wait x milliseconds before updating the data if I have filterable: true on my kendoMobileListView.
As it is right now, every time the user types a character, it immediately fetches the next set of data. Unacceptable on mobile devices where data usage is a concern.
How can I wait until no keypresses have occured for 1000ms before implementing the refresh?
I have an app that has several listviews tied to remote data sources. I have tied three buttons on the main form to each display a different listview and allow the user to select an item on the list, which is populated on the main form. All three Listviews have the same code as listed below. They display the code for the selected item in a field on the form. That doesn't seem to matter. The code blow includes a section to check if there is no data item selected. This is where the problem lies.
$(document).ready(function () {
$("#proclist").kendoListView({
change: function () {
var item = this.dataItem(".k-state-selected");
if (item === undefined) {
alert("nothing selected");
return;
}
window.encounterView.setProcCode(this.dataItem(".k-state-selected").code);
}
}
When you select something on the listview the change code is fired. The third time you open a different listview and click on an item, item is always returned as undefined.
It doesn't matter what order you click on the buttons, it always fails on the third time. Is this a bug or just a limitation of the simulation environment?
Also 2 of these lists have almost 9000 items in them. I've tried limiting them to 500 items but that fails in the same way. Is there a limitation I should be aware of?
Hi,
I saw several discussions targeting other Kendo controls, but I did not see this particular question for the mobile listview. It is quite simple; I use the JayData "asKendoDataSource" function to get data from the local db and hook it up to a mobile listview. A simple template is showing the fields in format:
<td> #=CustomerCode#</td>
I know i can modify the values displayed by using a generic js function within the template like this:
<td>#= CheckNull(CustomerDesc)#</td>
But this means I need to embed this CheckNull in all of my templates (since I use deep model nesting it will get pretty ugly). Is there really no other elegant way? Seems quite a no brainer that 'null' values should not be displayed. I understood this behavior is already fixed for the Kendo grid; just wondering if it is possible for the listview as well.
Best regards,
Ruud
Hi,
I'm using the Mobile ListView Widget in combination with AngularJS and a binding to an observable array. Each time when I update an entry in the observable array via the "set" function (triggered by a button), it seems that a new $scope is created (see attached screenshot from AngularJS Batarang Plugin for Chrome) and never deleted again and this leads also to more and more memory consumption (this is the actual problem for my application).This behavior does not occur with other widgets (e.g. Grid).
I have created a small sample with which this behavior can be reproduced which basically is the same example as in http://docs.telerik.com/kendo-ui/AngularJS/data-source (example on the bottom), but with the additional line:
<kendo-mobile-list-view k-data-source="gridData"></kendo-mobile-list-view>
http://dojo.telerik.com/@tobias006/EGUKI/4
(When directly running in the dojo I could not see the same output in the AngularJS scope view from the Batarang plugin, so maybe it has to be run locally)
Without this line, everything seems to be ok, but when using the Mobile ListView widget with k-data-source the memory problem occurs. Is there a way to prevent this?
Thanks for any hints,
Regards,
Th
I have a site where I am mixing mobile and desktop widgets, in some cases I show a mobile widget if viewed on a mobile device. I am trying to use the mobileListView with the below code.
01.
<
script
id
=
"tmp"
type
=
"text/x-kendo-template"
>
02.
03.
<
p
>#: name # <
span
>Age: #: age #</
span
></
p
>
04.
</
script
>
05.
<
script
>
06.
07.
var dataSource = new kendo.data.DataSource({
08.
data: [
09.
{ name: "Jane Doe", age: 30 },
10.
{ name: "John Doe", age: 33 }
11.
]
12.
});
13.
14.
$("#lv-detail").kendoMobileListView({
15.
dataSource: dataSource,
16.
pullToRefresh: true,
17.
template: kendo.template($("#tmp").html())
18.
});
19.
</
script
>
I get an error stating Cannot read property 'setOptions' of undefined. I have followed the instructions here on using mobile widgets with desktop:
http://docs.telerik.com/kendo-ui/mobile/regular-usage
I have version v2015.2.624 of the components.
You can see the issue here:
http://dojo.telerik.com/oQAtO
If you remove the pullToRefresh attribute the list view renders
In my app a have a ListView with an MVVM bound DataSource. Before navigating to any view I call app.showLoading() and on every view's afterShow event I call app.hideLoading(). The problem is only on the first visit to every view hideLoading() is being triggered by the listview or its datasource so my app's loading indicator is quickly dismissed and only hidden on afterShow for subsequent visits to a view. I have hooked into the datasource requestStart, requestEnd, change, and progress events as well as the listview dataBinding and dataBound events and have found instances of e.sender._itemBinder._progressHandler = function (){e.showLoading()} and e.sender._events._progress = function (){e.showLoading()} but cannot figure out how to disable hideLoading.
How do you disable app.hideLoading for ListView and/or DataSource binding?
http://docs.telerik.com/kendo-ui/api/javascript/mobile/application#methods-hideLoading
$(document).ready(function () { var ds = new kendo.data.DataSource({ transport: { read: { url: "data/team.json" }, dataType: "json" } }); $("#listview").kendoMobileListView({ dataSource: ds }); }); JSONAny help would be appreciated. Files attached.[ { name: "Bob", title: "Mr" }, { name: "Fred", title: "Sir" } ]