当我使用寻呼机分页记录时,我不想点击服务器并带回每一行.我读到如果我在.ajax函数的完整博客中设置datatype = local并且如果我设置loadonce:true那么我应该能够避免必须等待网格重新加载数据.
但是,当我执行这些操作时,网格不会转到下一页.它只是挂起......
我做错了什么?
jQuery(document).ready(function () {
jQuery("#list").jqGrid({
datatype: processrequest,
mtype: 'POST',
jsonReader: {
root: "rows", //arry containing actual data
page: "page", //current page
total: "total", //total pages for the query
records: "records", //total number of records
repeatitems: false,
id: "ID" //index of the column with the PK in it
},
colNames: ['Name', 'Title'],
colModel: [
{ name: 'name', index: 'name', width: 250 },
{ name: 'title', index: 'title', width: 250 }
],
pager: '#pager',
rowNum: 10,
rowList: [10, …Run Code Online (Sandbox Code Playgroud) 我有一个ASP.NET MVC 3页面.在它上面,我有一个表,我使用来自ajax调用的JSON数据转换为jqGrid.网格具有以下设置:
myGrid = $('#myGrid');
myGrid.jqGrid({
caption: 'My Grid',
datatype: 'local',
data: data.rows,
height: 250,
pager: '#myPager',
viewrecords: true,
colModel: [
...,
{
label: 'blah',
name: 'blah',
align: 'left',
sortable: true,
editable: false,
width: 85,
formatter: 'date',
sorttype: 'date',
datefmt: 'm/d/Y',
formatoptions: { srcformat: 'm/d/Y', newformat: 'm/d/Y' }
},
...
]
});
// turn on filter toolbar
myGrid.filterToolbar();
Run Code Online (Sandbox Code Playgroud)
data.rows从ajax调用返回.除了一个以外,这种方式都有效.我可以对客户端进行分页,对客户端进行排序,并按照我显示colModel的字段进行搜索.这个'blah'字段是一个日期字段,它以mm/dd/yyyy格式正确显示日期.但是,当我在工具栏中键入类似11/17/2010的内容并按Enter键时,搜索将返回0条记录.
所以我深入研究了jqGrid代码,这是它在搜索之前生成的内容:
{"groupOp":"AND","rules":[{"field":"blah","op":"bw","data":"11/17/2010"}]}
Run Code Online (Sandbox Code Playgroud)
最终,当它遍历每一行并且它评估字段上的操作时,eval(m)&& p.push(this)行,m是这样的:
(String(this.blah).substr(0,10) == String("11/17/2010"))
Run Code Online (Sandbox Code Playgroud)
基本上,在我看来它并不认为该字段是一个日期.它调用parse而不是parseDate.任何人有任何想法如何解决这个问题?我知道搜索服务器端很容易,我可以传递该字符串,解析它,然后bam.但如果可以,我想留在客户方面.我能够在Oleg和Tom提出的一些样本中复制这个,所以这是一个问题,或者我在配置中遗漏了一些东西......
我试图弄清楚如何使用jqGrid的分页功能.目前我被困在第1页的第4页.无论我是否按下"下一步"按钮.它只停留在1.
我正在使用ASP.Net和webservice来填充我的JSON数据.如何从客户端捕获事件以填充Web服务上的属性以恢复正确的值?
任何帮助表示赞赏.
这是前一个问题的一个延续.
现在我正在尝试调用我在ASP.NET MVC应用程序中定义的支持AJAX的Web服务(即MovieService.svc).但是我的getMoviesjavascript函数永远不会调用该服务.
如果我在非ASP.NET MVC应用程序中尝试,这种调用AJAX Web服务的技术工作正常,所以它让我想知道ASP MVC路由在尝试进行AJAX Web服务调用时是否会以某种方式干扰某些事情.
你知道为什么我的网络服务没有被调用吗?代码如下.
<script src="<%= ResolveClientUrl("~/scripts/jquery-1.4.2.min.js") %>" type="text/javascript"></script>
<script src="<%= ResolveClientUrl("~/scripts/grid.locale-en.js") %>" type="text/javascript"></script>
<script src="<%= ResolveClientUrl("~/scripts/jquery-ui-1.8.1.custom.min.js") %>"
type="text/javascript"></script>
<script src="<%= ResolveClientUrl("~/scripts/jquery.jqGrid.min.js") %>" type="text/javascript"></script>
<script type="text/javascript">
var lastsel2;
function successFunction(jsondata) {
debugger
var thegrid = jQuery("#editgrid");
for (var i = 0; i < jsondata.d.length; i++) {
thegrid.addRowData(i + 1, jsondata.d[i]);
}
}
function getMovies() {
debugger
// ***** the MovieService#GetMovies method never gets called
$.ajax({
url: 'MovieService.svc/GetMovies',
data: "{}", …Run Code Online (Sandbox Code Playgroud)