用 jqgrid 显示表格 为什么最下面一行是乱码啊?

html-css026

用 jqgrid 显示表格 为什么最下面一行是乱码啊?,第1张

解决jqgrid乱码办法如下:

把文件jquery.jqGrid.min.js中的三个函数返回值进行编码。

jQuery(this).find("select[name='field'] :selected").val(),i=jQuery(this).find("select[name='op'] :selected").val(),h=jQuery(this).find("input.vdata,select.vdata :selected").val()

替换成如下代码即可:

encodeURIComponent(jQuery(this).find("select[name='field'] :selected").val()),i=encodeURIComponent(jQuery(this).find("select[name='op'] :selected").val()),h=encodeURIComponent(jQuery(this).find("input.vdata,select.vdata :selected").val())

一、要使用jqGrid,首先页面上要引入如下css与js文件。

1、css

<link href="/css/ui.jqgrid.css" rel="stylesheet" type="text/css" />

2、js

<script src='/Scripts/js/jquery-2.0.3.min.js' type="text/javascript"></script>

<script src='/Scripts/js/jqGrid/jquery.jqGrid.min.js' type="text/javascript"></script>

<script src='/Scripts/js/jqGrid/i18n/grid.locale-en.js' type="text/javascript"></script>

二、使用要点说明

1、获取单个id

获取行号,有这种方式:

var rowid = $("#grid-table").jqGrid("getGridParam", "selrow")

但是经过实际验证,这种方式不可行,当选中行,再点击同一行会出现获取不到行号的情况。

最后先在js最外部定义一个变量selId,然后使用如下代码在选中行时赋值:

onSelectRow: function (rowid, status) {

selId = rowid//给最外层的selId赋值

}

2、获取多个选中行的id

var ids=$('#gridTable').jqGrid('getGridParam','selarrrow')

其输出格式是逗号分隔的id,如:

1,2,3,4,5

3、获得所有行的ID数组

var ids = $("jqgridtableid").jqGrid('getDataIDs')

4、获取行数据

如果想获取选择的行的数据,只要传入rowId即可,如下:

var rowData = $('#gridTable').jqGrid('getRowData',rowId)

而这个rowData是一个对象,如果要获取选择的行的这个对象的属性值,如name的值,需如下:

var Name= rowData.name

5、获取单元格数据

var celldata = $("jqgridtableid").jqGrid('getCell',id,colnum)

6、设定行选中

//设定选中行,可设定多行选中:

$("jqgridtableid").jqGrid('setSelection',id1)

$("jqgridtableid").jqGrid('setSelection',id2)