首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >beforeRequest事件jqGrid:在调用url之前设置jqGrid页面

beforeRequest事件jqGrid:在调用url之前设置jqGrid页面
EN

Stack Overflow用户
提问于 2013-03-01 22:26:16
回答 1查看 8.7K关注 0票数 2

我试图在jqGrid中设置页面变量,然后再将GET请求发送到URL.

代码语言:javascript
复制
        jQuery("#frTable").jqGrid({                
            cmTemplate: { sortable: false },
            caption: '@TempData["POPNAME"]' + ' Population',
            datatype: 'json',                
            mtype: 'GET',
            url: '/Encounters/GetAjaxPagedGridData/',

我试过各种各样的东西,不管我怎么尝试,我似乎都不能让它起作用.我已经尝试过各种各样的事情,唯一的“类-工作”是订阅这样的LoadComplete事件。

代码语言:javascript
复制
            loadComplete: function() {
                if ((rowFromTemp != "") && (pageFromTemp != "")) {
                    setTimeout(function () {
                    $("#frTable").trigger("reloadGrid", [{page: pageFromTemp, rowNum: rowFromTemp}]); 
                    }, 50);
                }
            },

我唯一的问题是它是不断更新的。不知道为什么会发生这种事。我唯一想到的就是我在用我的超时功能.

我尝试过订阅其他几个请求,但每个请求似乎都失败了。我觉得最有希望的是beforeRequest事件。这就是我现在拥有的..。

代码语言:javascript
复制
            beforeRequest: function() {
                if ((rowFromTemp != "") && (pageFromTemp != "")) {
                    $("#frTable").setGridParam([{ page: pageFromTemp, rowNum: rowFromTemp }]);                        
                    }
            },

它不在乎我把变量设置到什么鬼地方,它只是在第1页打开,不管是什么。

现在,我可以将数据设置为“本地”,这意味着您必须重新加载网格才能获得任何数据。

但是,我希望在用户第一次打开数据时加载数据。我正在尝试设置页面,以便在用户编辑完我的编辑屏幕后,当他点击保存时,他将被带回到他刚刚在上面的页面。不是第一页。如你所知,这对用户来说是非常令人沮丧的。

更新

好的..。我在我的beforeRequest事件中放置了一个警报,它在我的网格加载之前就启动了。在我的操作中设置一个在url部分中调用的断点会告诉我,在我实际提出请求之前已经调用了警报。这正是我所希望的。我只需要弄清楚如何正确地设置页面变量。

更新2 Ok。我设置了变量,我的警报显示变量确实被设置了.

代码语言:javascript
复制
            beforeRequest: function() {
                if ((rowFromTemp != "") && (pageFromTemp != "")) {
                    this.p.page = pageFromTemp;
                    alert("This is what the page is: " + this.p.page + ";  And this is what I want it to be: \n" + pageFromTemp + " How do I get it there \n");

但是,它仍然加载第一页吗?所以很明显,它又被推翻了。为什么?我怎样才能永久地设置这个。

EN

Stack Overflow用户

回答已采纳

发布于 2013-03-19 18:10:53

我也遇到了同样的问题,但是我让它在BeforeRequest函数上执行这个操作:

代码语言:javascript
复制
$('#GRID_ID').jqGrid('setGridParam', { postData: { page: 4} });
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15167903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档