Tôi tạo jqgrid của mình từ lớp mô hình mà tôi chuyển sang chế độ xem. Tôi được xây dựng và làm việc jqgrid. Tuy nhiên, tôi muốn đặt postData trên một chế độ xem, nơi tôi sử dụng jqGrid, từ tập lệnh trong chế độ xem đó, sau khi tôi gọi trình trợ giúp để tạo jqgrid, mà không phải thay đổi toàn bộ lượt xem một phần tạo jqgrid.cách đặt postData trong jqgrid SAU KHI nó đã được xây dựng?
Tôi cố gắng chạy
$("#@Model.Id").jqGrid('setGridParam', { postData: { test: 233} });
và
$("#@Model.Id").setGridParam({ postData: { test: 233} });
nhưng mà không có lỗi hoặc bất kỳ kết quả. Nếu tôi đặt POSTDATA trong thông số jqGrid (theo quan điểm của từng phần, nơi nó được xây dựng, nó hoạt động.
Tôi cũng kiểm tra lưới mà tồn tại, thêm
console.log($("#@Model.Id").size());
trước khi dòng đầu tiên, và nó cho thấy 1.
UPDATE: chức năng .setGirdParam này bắt đầu làm việc cho tôi không có lý do rõ ràng, vì vậy tôi sẽ chấp nhận câu trả lời nếu ai đó có thể đưa ra một số cái nhìn sâu sắc những gì có thể ngăn chặn điều này làm việc Cảm ơn
nhờ cho kỳ thi này: function() một phần, mà sẽ rất hữu ích, nếu không, tôi đã thực hiện tất cả mọi thứ theo trình tự bạn đã viết. Nó hoạt động bây giờ, nhưng nó không phải lúc đầu, và tôi không biết những gì tôi đã thay đổi :) –
@obrad: Bạn không đăng mã của bạn mà bạn hiện đang sử dụng. Nếu một cái gì đó không hoạt động "ở đầu tiên", bạn nên kiểm tra những gì mã chính xác hoạt động "ở đầu tiên".Tôi cho rằng bạn có thể có những vấn đề như vậy và bao gồm trong câu trả lời của tôi một phần với việc sử dụng 'datatype' với' 'local'' ban đầu mà sẽ ngăn chặn việc nạp lưới đầu tiên. Sau khi giá trị mà bạn cần sử dụng bên trong 'test: function()' sẽ được biết bạn có thể thay đổi 'datatype' thành' 'json'' và buộc tải lưới bằng '.trigger (' reloadGrid ', ...) '. – Oleg
Tôi đã không đăng nó vì nó được tạo ra, nhưng giả sử tôi nên đã đăng mã được tạo ra. Tuy nhiên, nó hoạt động ngay bây giờ. Cảm ơn sự giúp đỡ của bạn. –