Asp.net mvc 4 jqGrid寻呼机仅返回第一页
我想要客户端分页 但出于某种原因,我似乎只回到了第一页?即使我知道我有两页的数据(即…我一步一步地浏览我的代码,我肯定有两页…)。。。更令人困惑的是,我浏览网页的链接似乎从来都不正确。。。例如,我希望下面的屏幕显示2中的1 另外,我希望右下角是21的视图1-15? 我的感觉是,我在我的数据层做了一些错误的事情,给这个寻呼机它的信息。 所以它只返回第一页Asp.net mvc 4 jqGrid寻呼机仅返回第一页,asp.net-mvc-4,jqgrid,Asp.net Mvc 4,Jqgrid,我想要客户端分页 但出于某种原因,我似乎只回到了第一页?即使我知道我有两页的数据(即…我一步一步地浏览我的代码,我肯定有两页…)。。。更令人困惑的是,我浏览网页的链接似乎从来都不正确。。。例如,我希望下面的屏幕显示2中的1 另外,我希望右下角是21的视图1-15? 我的感觉是,我在我的数据层做了一些错误的事情,给这个寻呼机它的信息。 所以它只返回第一页 public static string JsonifyEnc(IEnumerable<TemplateModel> mo
public static string JsonifyEnc(IEnumerable<TemplateModel> model, int popId, int page, int rows) {
TemplateModel variable = model.ToArray()[0];
ArrayList al = new ArrayList();
//foreach (PatientACOModel patMod in variable.Template) {
int i = 1;
int rowstart = (page * rows + 1) - rows;
int rowend = page * rows;
//Here is where I create the rows... nothing special here
var griddata = new {
total = variable.Template.Count % rows > 0 ? (variable.Template.Count / rows) + 1 : (variable.Template.Count / rows),
page = page,
records = al.Count,
rows = al.ToArray()
};
就在那里。另外,这就是我如何建立我的jqGrid
$(document).ready(function () {
jQuery("#frTable").jqGrid ({
cmTemplate: { sortable: false },
caption: '@TempData["POPNAME"]' + ' Population',
datatype: 'json',
mtype: 'GET',
url: '/Encounters/GetAjaxPagedGridData/', //'Url.Action("GetAjaxPagedGridData", "Encounters", new { popId = TempData["POPULATIONID"] })',//
postData: { popId: '@TempData["POPULATIONID"]'},
pager: '#pager',
jsonReader: {repeatitems: false},
loadonce: true,
height: 'auto',
gridview: true,
viewrecords: true,
rowNum: 15,
shrinkToFit: false,
autowidth: true,
如果在客户端使用
loadonce:true
,则应更改服务器代码,使其忽略页面
和行
选项,并返回所有数据。您应该只对与sidx
和sord
参数对应的数据进行排序(请参阅jqGrid中的sortname
和sortorder
)。您不需要在响应中填写总计
,页面
和记录
部分
如果使用
loadonce:true
jqGrid加载数据并将其保存在内部data
和\u index
参数中。之后,jqGrid将jqGrid的数据类型
选项更改为“本地”
。因此,以后所有数据的排序、筛选(搜索)和分页都将在本地完成。@DmainEvent:欢迎您!可以考虑从服务器响应中删除<代码>行> /Cord>部分,并直接返回项目数组。有关相应的jasonReader
的示例,请参见。您是否知道如何在ondblClickRow函数调用中传递页面信息?我想转到编辑页面,并在保存该页面时返回到相同的页面信息information@DmainEvent:我不确定我是否正确理解你在“页面信息”下的意思。我想那会对你有帮助。它显示了如何在localStorage
中保存网格状态。因此,如果用户访问同一页面,网格将恢复到上次访问时的状态(或关闭状态)。好的,如果我双击其中一行,在任何页面上,比如我在数据的第2页,双击该页面上的一行,我可以将该信息传递给操作方法吗?我是否可以像{page:jqPageNum,row:jsRowInfo}@DmainEvent:如果用户双击一行,将调用本地回调ondblClickRow
,或者触发事件“jqGridDblClickRow”
。您可以实现回调或事件处理程序,双击一行即可执行自定义JavaScript代码。所有这些都发生在客户端。无需发送服务器代码(操作方法)。所以我不明白你的意思。
$(document).ready(function () {
jQuery("#frTable").jqGrid ({
cmTemplate: { sortable: false },
caption: '@TempData["POPNAME"]' + ' Population',
datatype: 'json',
mtype: 'GET',
url: '/Encounters/GetAjaxPagedGridData/', //'Url.Action("GetAjaxPagedGridData", "Encounters", new { popId = TempData["POPULATIONID"] })',//
postData: { popId: '@TempData["POPULATIONID"]'},
pager: '#pager',
jsonReader: {repeatitems: false},
loadonce: true,
height: 'auto',
gridview: true,
viewrecords: true,
rowNum: 15,
shrinkToFit: false,
autowidth: true,