怎样获取编辑后的jqgrid的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样获取编辑后的jqgrid的值相关的知识,希望对你有一定的参考价值。
参考技术A 参考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) window.rowid=rowid; ); 2,在调用getRowData获取数据前,先保存/还原正在编辑的数据行 jQuery("#grid_id").saveRow(rowid, false, 'clientArray'); //==>或者还原 //jQuery("#grid_id").restoreRow(rowid); var recs=$("#grid").jqGrid("getRowData");本回答被提问者和网友采纳
使用 jqgrid 上的 footerdata 获取总和
【中文标题】使用 jqgrid 上的 footerdata 获取总和【英文标题】:getting the sum using footerdata on jqgrid 【发布时间】:2013-04-15 02:41:12 【问题描述】:我有一个列名 Total。 而且我也在使用页脚 jqgrid 的值。
例如这是列
总计 100 -98 -76 98 76
我怎样才能得到行的总和 使用页脚数据。
这是我的代码。 注意:如果我使用 'sum' 它会给我 'NaN' 价值。
var parseTotal= grid.jqGrid('getCol', 'Total', false, 'sum');
grid.jqGrid('footerData', 'set', Total: parseTotal);
【问题讨论】:
【参考方案1】:您应该发布更完整的代码来重现该问题。我尝试了一些选项:输入数据为字符串,数据为整数,使用formatter: "integer"
,不使用格式化程序等等。
我没有发现没有列定义的输入数据会产生所描述的结果。看the demo
哪个有效,并与您的非工作演示进行比较。我希望你能在你的代码中找到错误。
【讨论】:
【参考方案2】:我假设您将上面的代码放在 gridComplete 函数中,如下所示:
gridComplete: function()
var parseTotal= $(this).jqGrid('getCol', 'Total', false, 'sum');
$(this).jqGrid('footerData', 'set', Total: parseTotal);
现在,当列中的一个单元格包含空值(空白)时,会出现返回 NaN 的问题。因此,要将空格转换为值 0,请在列 total
的 colmodel 中使用 number
格式化程序:
即;
colModel:[
...............
name:"Total",index:"Total", formatter: 'number',
......
],
还要确保列索引拼写正确。
【讨论】:
【参考方案3】:无论如何都不是 jqGrid 专家,但在“getCol”方法中引用的列不应该是您想要求和的列——“数量”——而不是你想要将总和放入的列 - '全部的'? Nan 来自于尝试对尚未定义的列求和。
【讨论】:
以上是关于怎样获取编辑后的jqgrid的值的主要内容,如果未能解决你的问题,请参考以下文章