怎样获取编辑后的jqgrid的值

怎样获取编辑后的jqgrid的值,第1张

参考jqGrid的源代码,getRowData的实现方法是遍历tr获取td的innerhTML。 getRowData在单元格和行编辑模式下受到影响,在表单编辑模式没问题,因为表单没有直接修改jqGrid生成输入对象,而是在新的控件中生成编辑对象。 要想在单元格和行编辑模式下getRowData返回实际的数据行,而不是包含html代码的内容,可以参考下面的。

对于单元格编辑,需要先还原或者保存此单元格,然后再调用getRowData方法,实现如下

1、给grid添加beforeEditCell事件,声明2个window域的变量记录单元格的行号和列号 beforeEditCell:function(rowid,cellname,v,iRow,iCol){ lastrow = iRow; lastcell = iCol; } 2、在调用getRowData获取数据前,先保存/还原单元格 $("#grid")jqGrid("saveCell",lastrow,lastcell);//保存单元格,切换为文本模式 //或者===> //$("#grid")jqGrid("restoreCell",lastrow,lastcell);//还原单元格,切换为文本模式 var recs=$("#grid")jqGrid("getRowData"); 对于行编辑模式,原理一样,还原正在编辑的行或者保存数据到内存中 1,调用editRow时传递oneditfunc事件处理函数保存正在编辑的行的id $('#list4')jqGrid('editRow', rowid, true, function (rowid) { windowrowid=rowid; }); 2,在调用getRowData获取数据前,先保存/还原正在编辑的数据行 jQuery("#grid_id")saveRow(rowid, false, 'clientArray'); //==>或者还原 //jQuery("#grid_id")restoreRow(rowid); var recs=$("#grid")jqGrid("getRowData");

首先,你可以得到的ROWID选定行与尊重getGridParam法“selrow'作为参数,然后你可以用getCell来获得相应的列中的单元格的值:

在“COLUMNNAME”应该是你在使用相同的名称'名'的财产colModel。如果从选定行的很多列需要的值,你可以使用getRowData而不是getCell。

您还可以使用这种方式

我想补充,也可以检索jqGrid的单元格的值的基础上,加ROWID列索引(而不是列名):

这样,抓取在第四列中的值(列序号#3),用于与主密钥ID 1234的行中,我们可以使用这样的:

顺便说一句,在一个完全无关的话题(但请不要投我失望):

我不知道就可以了,很容易,链接文本框,你jqGrid的,所以你的用户可以执行即时搜索,而无需打开搜索对话框。

要做到这一点,你需要一点点的HTML是这样的:

和一些JavaScript这样的:

这是一个真正的游戏改变了我那真叫jqGrid的更加人性化。

用户可以立即开始输入自己的搜索字符串,而不需要打开搜索对话框,记得更改运营商“包含”,然后开始打字,再关闭搜索对话框。

jqgrid的获取返回的数据源后是通过js把数据转换成了dom,通俗说就是<tr><td>内容1</td></tr>的html然后赋予到table对象的,让浏览器知道它是一个table的内容,浏览器就显示出来了。不导出数据想看数据源,IE的话可以使用fiddler监控>

改变返回的数据信息就行

如返回的是json格式的数据,下面是每个列的标注,其中Expanded为true就是展开

"MenuId", "MenuName", "Url", "level", "parent", "IsLeaf", "Expanded", "Loaded"

{

"page": 1,

"records": 10000,

"total": 1,

"rows": [

{

"id": 0,

"cell": [

"510",

"1",

"",

"1",

"0",

false,

true,

true

]

},

{

"id": 1,

"cell": [

"511",

"11",

"",

"2",

"510",

false,

true,

true

]

},

{

"id": 2,

"cell": [

"51101",

"111",

"ur111",

"3",

"511",

true,

true,

true

]

},

{

"id": 3,

"cell": [

"51102",

"112",

"url112",

"3",

"511",

true,

true,

true

]

},

{

"id": 42,

"cell": [

"12",

"报表",

"",

"2",

"510",

false,

true,

true

]

},

{

"id": 43,

"cell": [

"121",

"test",

"test",

"3",

"512",

true,

true,

true

]

},

{

"id": 44,

"cell": [

"122",

"rtest",

"test",

"3",

"512",

true,

true,

true

]

}

]

}

function formatState(cellValue, options, rowObject) {

var rowId = optionsrowId;

var html = cellValue;

if (html != "0") {

html = '<label style="color: red;" >' + cellValue + '</label>';

}

else {

html = '<label>' + cellValue + '</label>';

}

return html;

}

这是获取列中的值。首先绑定需要查看data的列头,这样就可以看row data中过的值了。如果你想获取一行的数据,edit:true时,选中的行就可以获取到啊。不知道是不是你的答案,虽然会jqgrid,可是不知道你的问题究竟是啥

以上就是关于怎样获取编辑后的jqgrid的值全部的内容,包括:怎样获取编辑后的jqgrid的值、jqgrid怎么获取所有的行数据设置背景颜色、怎么获取jqgrid中的multiselect等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9761217.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存