Я пытаюсь обновить свою сетку без необходимости обновления!Прямо сейчас он обновляет только сетку, но не знает почему, он меняет идентификатор на последний вставленный и не «очищает» пустую строку!Когда я пытаюсь вставить данные, он очищается.Я вроде как с Ajax и Slickgrid!Я пытался увидеть пример ajax из slickgrid, но у меня есть некоторые ошибки!Нужно ли заново загружать onCellChange и так далее?Я просто хотел обновить сетку новыми данными.Любая помощь?
Заранее спасибо
Итак, я попытался перерисовать таблицу, используя мой реальный код рисования, но я не смог перерисовать с правильными данными.
Функция перерисовки сетки
function desenhaGrid() {
$("#myGrid").ready(function () {
$(function () {
$.ajax({
type: "GET",
url: '/SlickGrid/GetData',
dataType: 'json',
success: function (jsonResult) {
for (var key in jsonResult) {
if (jsonResult.hasOwnProperty(key)) {
//print table
var d = (data[key] = {});
for (var i = 0; i < data.length; i++) {
d["#"] = i + 1;
}
d["id"] = jsonResult[key].id;
d["t_nome"] = jsonResult[key].t_nome;
d["t_prof"] = jsonResult[key].t_prof;
d["t_data"] = jsonResult[key].t_data;
d["t_morada"] = jsonResult[key].t_morada;
d["t_percCompleto"] = jsonResult[key].t_percCompleto;
}
}
grid = new Slick.Grid("#myGrid", dataView, columns, options);
dataView.beginUpdate();
grid.invalidateAllRows();
dataView.setItems(data);
grid.render();
dataView.endUpdate();
}
});
});
});
}
, и это мой onAddNewRow
grid.onAddNewRow.subscribe(function (e, args) {
var idData = jsonResult[key].id + 1;
var item = { "id": idData, "t_nome": '', "t_prof": '', "t_data": '', "t_morada": '', "t_percCompleto": '' };
$.extend(item, args.item);
dataView.addItem(item);
//if user press enter
grid.onKeyDown.subscribe(function (e) {
var keyPressed = event.keyCode || event.which;
if (keyPressed == 13) {
alert("add");
var myJSON = JSON.stringify(item);
$.post("/SlickGrid/addGridEnter", $("input[name=mydata]").val(myJSON));
console.log(myJSON);
desenhaGrid();
}
});
});
Я ожидал, что он перерисовает мою сетку со всеми данными.Вместо этого меняются все идентификаторы на последний вставленный, и когда я пытаюсь вставить данные в последнюю строку, не позволю мне (это очищает его после того, как я покину ячейку).
ОБНОВЛЕНИЕ:
Я обновил функцию рисования сетки
function desenhaGrid() {
$("#myGrid").load(function () {
$(function () {
$.ajax({
type: "GET",
url: '/SlickGrid/GetData',
dataType: 'json',
success: function (jsonResult) {
dataView.beginUpdate();
grid.invalidateAllRows();
dataView.setItems(jsonResult);
dataView.endUpdate();
grid.render();
}
});
});
});
}