Tengo un problema, cuando vinculo datos con kendo a una tabla, estoy usando un objeto kendo.data.DataSource y estoy vinculándolo a una tabla como:
<table class="myClass" id="myTable"> <thead> <tr> <th data-bind="visible:Name">Name.Title"</th> <th data-bind="visible:Type">Type.Title"</th> <th data-bind="visible: DateAdded">"CreatedDate.Title"</th> </tr> </thead> <tbody id="contactsListView" data-role="listview" data-bind="source: ListViewSource" data-template="Template"></tbody> </table>en JS estoy llenando así:
ListViewSource: new kendo.data.DataSource({ serverPaging: true, // <-- Do paging server-side. serverSorting: true, // <-- Do sorting server-side. transport: { read: { data: function () { return globalVariableWithObjectList; } } }, schema: { data: function () { return globalVariableWithObjectList; } } }),y funciona para llenar la tabla en la primera carga, pero si con algunas acciones agrego o elimino un elemento, no se actualiza en la tabla. Estoy tratando de actualizar con:
ListaVerFuente.read();
Funciona cuando tengo kendo.data.DataSource así:
contactsListViewSource: new kendo.data.DataSource({ serverPaging: true, // <-- Do paging server-side. serverSorting: true, // <-- Do sorting server-side. transport: { read: { url: myUrl,//Where I'm getting the data dataType: "json", type: "POST" } }, pageSize: 5, sort: { field: "CreatedDate", dir: "desc" }, schema: { data: function () { return globalVariableWithObjectList; } } }),Estoy tratando de reducir numerosas llamadas ajax con solo una cuando se necesitan múltiples datos para actualizar, y almacenar datos en variables globales para poder usarlos más tarde. Pero la función read () para kendo.data.DataSource solo actualiza los datos de la tabla cuando solicita una solicitud ajax y no cuando intento obtener datos de la variable global, ¿alguien sabe cómo puedo hacer que funcione mientras leo de la variable? ?
Usa contactsListViewSource.add(newRecord); para agregar nuevos registros a la fuente de datos, se vinculará automáticamente a la lista HTML (MVVM) y la mostrará.
Llame a contactsListViewSource.sync() para enviar datos al servidor. contactsListViewSource.sync() llamará al método transport.create si se agregan nuevos registros.
Ejemplo de trabajo: ListView MVVM