or
Hello,
I'm trying to have my ListView working with Pull To Refresh. Nevertheless, I can't have the listview refresehd.
basically, when a user trigger pull to refresh, it should replace the whole content of the list view.
Here is how I have handled my list view and the pull to refresh:
$.when( Event.getEventsNearby( position.coords.latitude, position.coords.longitude, radius, limit, offset, key ) ).done( function( response ) { var dataToBeCached = new Array(); //In order not to cache the same results twice var previousContent; if( response.containsResults ) { var results = response.results; //On chope le nombre de resultats. Si !=limit, il y a de grandes chances qu'il n'y ai plus de resultats par la suite. // resultLength = data.length; // //On progresse dans les resultats // //Et on adapte offset et limit // offset += resultLength; // limit = offset + 20 ; //Merge the previous content with the new one // previousContent = JSON.parse( getItem("contentEvent") ); // if ( previousContent != null ) // { // var dataToBeCached = dataToBeCached.concat(previousContent); // }; //Remove previous markers Map.clearMarkers(); // Add Markers on the map Map.setMarkerPosition( position.coords.latitude, position.coords.longitude, "grey" ); for ( var i=0; i<results.length; i++ ) { Map.setMarkerPosition( results[i].lat, results[i].lng, "green"); results[i]["index"] = i; } setItem("events", JSON.stringify( results ), 1); var template = Handlebars.compile( $( '#eventListTemplate' ).html() ); $("#list-container").kendoMobileListView({ template : template, dataSource: kendo.data.DataSource.create(results), fixedHeaders: false, pullToRefresh: true, pullParameters: function(item) { console.log("pull"); //Here, another AJAX call to get the new results $.when( Event.getEventsNearby( position.coords.latitude, position.coords.longitude, radius, limit, offset, key ) ).done( function( response ) { console.log("when"); //I can see I'm getting my results properly here. console.log(response.results); //Doesn't work ... return response.results; }); } }); //We remove those fucking classes added by default with Kendo UI // $("#list-container").removeClass("km-widget km-listview km-list"); // $(".post-actions [data-role='button']").removeClass("km-widget km-button"); $( document ).trigger( "wallReady" ); //Retrieve the different user conversations: updateListOfChats(); }});
Hello,
I am building a grid with a complex datatype. Example below.
I am trying to do some custom validation, but it is not working. It doesn't even seem like it is hitting it.
If I do it on the 'LegacyID' field, which is the only not 'complex' field, it works perfectly fine.
Am I missing something? Doing something wrong?
schema: { model: { id: 'LegacyID', fields: { LegacyID:{type:'number', editable:false}, Clean:{ ID: { type: 'number' }, JobID: { type: 'number' }, ProcessFlag: { type: 'string' }, OverallStatus: { type: 'string' }, LastRecordUpdater: { type: 'string' }, LastUpdatedDateTime: { type: 'date' }, CleansingComments: { type: 'string' }, MaterialNumber: { type: 'string', validation: { custom: function (input) { console.log(input); if (input.val().length > 18) { input.attr("data-maxlength-msg", "SAP Material Number cannot exceed 18 characters."); return false; } return true; } }, }, MaterialBaseNumber: { type: 'string' } } },
public class ItTasksController : Controller { private ITaskRepository _repository; public ItTasksController() : this(new TaskRepository()){ } public ItTasksController (ITaskRepository repository){ _repository = repository; } // // GET: /ItTasks/ public ActionResult Tasks() { ViewBag.Message = "IT Dev Tasks"; ViewBag.Link = "Tasks"; var itTasks = new ItTasksDataContext().tnTasks; return View(itTasks); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create([DataSourceRequest] DataSourceRequest request, TaskModel task) { if (ModelState.IsValid) { _repository.InsertTask(task); } return RedirectToAction("Tasks"); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Read() { return RedirectToAction("Tasks"); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Update([DataSourceRequest] DataSourceRequest request, TaskModel task) { if (ModelState.IsValid) { _repository.UpdateTask(task); } return RedirectToAction("Tasks"); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Destroy([DataSourceRequest] DataSourceRequest request, int taskID) { if (ModelState.IsValid) { _repository.DeleteTask(taskID); } return RedirectToAction("Tasks"); } }<!DOCTYPE html><html> <head> <link href="http://cdn.kendostatic.com/2013.3.1324/styles/kendo.common.min.css" rel="stylesheet" type="text/css" /> <link href="http://cdn.kendostatic.com/2013.3.1324/styles/kendo.rtl.min.css" rel="stylesheet" type="text/css" /> <link href="http://cdn.kendostatic.com/2013.3.1324/styles/kendo.default.min.css" rel="stylesheet" type="text/css" /> <link href="http://cdn.kendostatic.com/2013.3.1324/styles/kendo.dataviz.min.css" rel="stylesheet" type="text/css" /> <link href="http://cdn.kendostatic.com/2013.3.1324/styles/kendo.dataviz.default.min.css" rel="stylesheet" type="text/css" /> <link href="http://cdn.kendostatic.com/2013.3.1324/styles/kendo.mobile.all.min.css" rel="stylesheet" type="text/css" /> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script src="http://cdn.kendostatic.com/2013.3.1324/js/kendo.all.min.js"></script> <meta charset=utf-8 /> <title>JS Bin</title> </head> <body> <div data-role="view" data-use-native-scrolling="true" id="search_products" data-title="Catalog" data-layout="mobile-tabstrip"> <ul data-role="listview" data-type="group"> <li> Search <ul> <li><input id="txtSearch" autocomplete = "on" autofocus = "autofocus" type="search" value="123192831029831028931092831092831092381092831023" /> <a style="float:right" data-role="button" class="km-button" data-align="right" data-icon="search" onclick="searchProductName(document.getElementById('txtSearch').value);"></a> </li> </ul> <ul id="listview" class="inboxList"></ul> </li> </ul></div><div data-role="layout" data-id="mobile-tabstrip"> <header data-role="header"> <div data-role="navbar"> <a data-align="left" data-role="backbutton" class="nav-button">Catalog</a> <span data-role="view-title"></span> </div> </header> <div data-role="footer"> <div data-role="tabstrip" id="myTabStrip"> <a href="#tabstrip-home" data-icon="recents">Catalog</a> </div> </div></div> <script> var app = new kendo.mobile.Application($(document.body), { platform: "ios", transition: "slide", hideAddressBar: true, serverNavigation: false, loading: "" }); </script> </body></html>@(Html.Kendo().Grid<MyEntity>(Model) .Name("valueGrid") .ToolBar(commands => commands.Create().Text("Add new value")) .Columns(columns => { columns.Bound(c => c.DOMAINID).Visible(false); columns.Bound(c => c.CODE); columns.Bound(c => c.VALUE); columns.Command(command => { command.Edit().UpdateText("Save"); command.Destroy().Text("Delete"); }); }) //.Events(e => e.SaveChanges("OnSaveChanges")) .Sortable() .Scrollable() .DataSource(dataSource => dataSource .Ajax() .ServerOperation(false) .Model(m => m.Id(v => v.DOMAINID)) .Update(update => update.Action("UpdateValue", "DomainValue")) .Create(create => create.Action("CreateValue", "DomainValue")) .Destroy(delete => delete.Action("DeleteValue", "DomainValue")) ) )