Please find the sample code below the message.
The code is what I am trying to do and grid_restaurants value does not
exist after ajax callback.
p.s. one more thing is, I was trying to use one of javascript file
(slick.remotemodel.js).
would it possible to have a easy sample code with ajax callback
using slickgrid??
Thanks.
================================================
var grid_restaurants = null;
$(function load_restaurants() {
var dv_restaurants;
var loader = new Slick.Data.RemoteModel("urbanmenu_restaurant.php");
var loadingIndicator = null;
var griddata = [];
$.ajax({
url: "urbanmenu_sql.php",
type: "GET",
contentType: "application/json",
dataType: "json",
success: function (data) {
for(var i=0;i<data.length;i++){
var datarow = (griddata[i] = {});
var obj = data[i];
for(var key in obj){
var attrName = key;
var attrValue = obj[key];
datarow[attrName] = attrValue;
}
}
dv_restaurants = new Slick.Data.DataView();
grid_restaurants = new Slick.Grid("#grid_restaurants",
dv_restaurants, col_restaurants, options);
dv_restaurants.onRowCountChanged.subscribe(function (e, args) {
grid_restaurants.updateRowCount();
grid_restaurants.render();
});
dv_restaurants.onRowsChanged.subscribe(function (e, args) {
grid_restaurants.invalidateRows(args.rows);
grid_restaurants.render();
});
$(grid_restaurants.getHeaderRow()).delegate(":input", "change
keyup", function (e) {
columnFilters[$(this).data("columnId")] = $.trim($(this).val());
dv_restaurants.refresh();
});
grid_restaurants.onColumnsReordered.subscribe(function (e, args) {
updateHeaderRow_restaurants();
});
grid_restaurants.onColumnsResized.subscribe(function (e, args) {
updateHeaderRow_restaurants();
});
dv_restaurants.beginUpdate();
dv_restaurants.setItems(griddata);
dv_restaurants.setFilter(filter_restaurants);
dv_restaurants.endUpdate();
updateHeaderRow_restaurants();
// load the first page
grid_restaurants.onViewportChanged.notify();
//var auto_refresh=setInterval(function(){update_restaurants();},
20000);
},
error: function (msg) {
alert("error! "+msg);
}
});
grid_restaurants.invalidateRow(0);
grid_restaurants.render();