2014-02-23 19 views
0

我想讓我的ListView與Pull To Refresh一起工作。不過,我不能有listview refresehd。如何使用Kendo UI PullParameters函數和Pull To Refresh?

基本上,當用戶觸發拉動刷新時,應該替換列表視圖的全部內容。

這裏是我已經處理了我的列表視圖和拉刷新:

function handle_geolocation_query(position) 
{ 
    $.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; 

      //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; 
        }); 
       } 
      }); 

      $(document).trigger("wallReady"); 

      //Retrieve the different user conversations: 
      updateListOfChats(); 
     } 
    }); 
}; 

我應該投入pullParameters功能,使工作?謝謝。

回答

2

拉參數函數應該返回即將在下一個請求中傳遞的參數,由數據源組件本身執行。請參閱API reference瞭解更多詳情和實例。

+0

謝謝Petyo,我一直在嘗試玩它,但我認爲我錯過了一些東西。我在我的pullparameters中有一個返回函數(它在什麼時候,不知道如果這很好)。在我的測試中,我在'return response.results;'中返回的內容與我傳遞給'dataSource:kendo.data.DataSource.create(results),'完全相同。但它仍然不起作用。請問你能否介意我? –