Làm cách nào để tạo lưới nhưng không tải bất kỳ dữ liệu nào?jqGrid - cách đặt lưới KHÔNG tải bất kỳ dữ liệu nào ban đầu?
Nếu tôi bỏ qua tùy chọn url
thì cuộc gọi lại loadError
được kích hoạt.
Hiện tại chúng tôi đặt url:NoData.json
trong đó NoData.json là tệp tĩnh không có hàng nào trong đó.
Sự cố nằm trong số gọi lại loadComplete
của chúng tôi, chúng tôi muốn gửi thư nếu lưới không chứa dữ liệu - ngoại trừ chúng tôi không muốn hiển thị thông báo này khi tải ban đầu. Hiện tại, chúng tôi xử lý việc này như sau:
//jqGrid load complete handler
function loadComp(grid) {
if (grid.getGridParam("url") != "NoData.json" && grid.getGridParam("records") == 0) {
setStatus("Your search did not return any results");
}
}
Điều này có vẻ hơi khó hiểu .. chỉ muốn có lưới không tải bất kỳ dữ liệu nào ban đầu.
Bất kỳ ý tưởng nào?
Đã cố gắng - vấn đề là với 'datatype: local' và không có' url', hàm gọi lại 'loadComplete' của tôi vẫn được gọi. Tôi đã hy vọng cho một cách tiếp cận mà sẽ không kích hoạt gọi lại - hoặc ít nhất là một cách sạch hơn trong cuộc gọi lại để xác định đây là lần đầu tiên lưới được nạp. –
@Marcus: nguyên nhân xử lý sự kiện 'loadComplete' sẽ được gọi trong mọi tình huống. Nếu bạn muốn hiển thị thông báo chỉ trong trường hợp tải từ máy chủ, bạn có thể hiển thị thông báo chỉ khi 'datatype' bằng" json "như trong http://stackoverflow.com/questions/3564898/jqgrid-programatically-select -grid-row/3571392 # 3571392 – Oleg
Giải pháp 'grid.getGridParam ('datatype') ===" json "' hoạt động độc đáo .. –