IsDirty/ Rollback is not dependent upon how you load data into the grid.
If you populate the data using $grid.pqGrid("option", "dataModel.data", response.data) after the grid is created, you have to set
1) dataModel.location = "local" initially.
and
call refreshDataAndView when you set data.
$.ajax({
url: "/pro/products/get",
dataType: 'json',
success: function (response) {
debugger;
$grid.pqGrid("option", "dataModel.data", response.data)
.pqGrid("refreshDataAndView");
}
});
Please use trackModel: { on: true }, //to turn on the track changes instead of track: true