Đây là một bổ sung cho câu hỏi trước của tôi về việc thêm cột vào bảng dựa trên jqGrid. Đây là mã js mới của tôi:jqGrid tải lại lưới
var col_names = ['First', 'Second', 'Third', 'Fourth', 'Fifth'];
var col_model = [
{name:'invid', index:'invid', width:100},
{name:'invdate', index:'invdate', width:90},
{name:'amount', index:'amount', width:80, align:'right'},
{name:'tax', index:'tax', width:80, align:'right'},
{name:'total', index:'total', width:80, align:'right'},
];
function createGrid()
{
var handle = $("#list").jqGrid({
url:'data.xml',
datatype: 'xml',
mtype: 'GET',
colNames: col_names,
colModel : col_model,
});
}
Bây giờ tôi gọi createGrid();
sau khi tài liệu được tải, mọi thứ hoạt động tốt. Bây giờ tôi muốn thêm một cột mới (với dữ liệu trống) và tải lại jqGrid:
$("#add_column").click(function() {
$('#list').trigger("DestroyGrid"); // Also tried UnloadGrid
col_names.push('New');
col_model.push({name: 'test', index: 'test', width: 100});
createGrid(); // And recreate grid
});
Nhưng không có gì xảy ra, tại sao?
UPD
$("#add_column").click(function() {
col_names.push('New');
col_model.push({name: 'test', index: 'test', width: 100});
$('#list').trigger("reloadGrid");
});
Tình hình tương tự
UPD2 tôi đã cố gắng này:
ajaxGridOptions: {cache: false},
loadonce:false
Không thay đổi tình hình.
'ajaxGridOptions: {cache: false} 'và' loadonce: false' là thiết lập mặc định họ không thể giúp đỡ. Nếu câu trả lời yo không giúp bạn, hãy đăng ví dụ mã đầy đủ với mã HTML và kiểm tra XML mà bạn sử dụng và tôi sửa đổi nó để làm cho nó hoạt động. – Oleg