jqgrid 获取表格数据(jqgrid 获取到json 是如何给各列赋值的,通过colModel 中指定name 吗,还是根据数据个数,循环给表格赋值)

本文目录
- jqgrid 获取到json 是如何给各列赋值的,通过colModel 中指定name 吗,还是根据数据个数,循环给表格赋值
- JQGRID CELLEDIT 编辑模式下怎样取行数据
- jqGrid中关于取得表格中值,请大侠赐教!~~~~~
- 怎么看到jqgrid数据源里面的内容
- - jqGrid单元格/行编辑模式下getRowData如何获取数据行
- jqgrid加载时获得表格中某个单元格的值怎么获取
jqgrid 获取到json 是如何给各列赋值的,通过colModel 中指定name 吗,还是根据数据个数,循环给表格赋值
{total:5,page:1,records:45,rows:[{userName:’张三’,password:123},{userName:’李四’,password:123}...]}
上面是jqgrid默认的json数据格式,其中total:页面总数,page:当前页数,records:所有记录数,rows:当前页面行数据。如果不想使用默认的格式可以定义自己的jsonReader。jqgrid默认是对rows循环遍历生成表格行,如果在js中定义的colModel的name分别为userName和password,则生成的grid数据行如下:
张三 123
李四 123
JQGRID CELLEDIT 编辑模式下怎样取行数据
示例:
var lastFlag ;
$gridTable = $(“#gridTable“).jqGrid( {
datatype : ’json’,
colNames : [’age’, ’sex’ ],
colModel : [
{name : ’age’,index : ’age’,width : 80,editable:true,edittype:’text’,editrules:{required:true}},
{name : ’sex’,index : ’sex’,width : 160,editable:true,edittype:’text’,editrules:{required:true}}
],
rowNum : 10,
pager : “#tablePager“,
multiselect : false,
viewrecords : true,
sortorder : “desc“,
jsonReader : {
root : “dataRows“,
repeatitems : false
},
caption : “数据列表“,
height : “auto“,
rownumbers : true,
onSelectRow : function(id){
if(id && id!=lastFlag){
$(’#gridTable’).jqGrid(’saveRow’,lastFlag);
lastFlag=id;
}
$(’#gridTable’).jqGrid(’editRow’,id,true);
},
editurl : “../propManage.do?method=doNothing“
})
/** 设置增行按钮的click事件处理 */
$(“#addButton“).bind(“click“, function() {
var selectedId = $(“#gridTable“).jqGrid(“getGridParam“, “selrow“);
var dataRow = {
age: ““,
sex: ““
};
var ids = jQuery(“#gridTable“).jqGrid(’getDataIDs’);
var rowid = getMaxId(ids) + 1;
if (selectedId) {
$(“#gridTable“).jqGrid(“addRowData“, rowid, dataRow, “after“, selectedId);
} else {
$(“#gridTable“).jqGrid(“addRowData“, rowid, dataRow, “last“);
}
})
/** 设置删行按钮的click事件处理 */
$(“#removeButton“).bind(“click“, function() {
var selectedId = $(“#gridTable“).jqGrid(“getGridParam“,“selrow“);
if(!selectedId){
alert(“请选择要删除的行“);
return;
}else{
$(“#gridTable“).jqGrid(“delRowData“, selectedId);
}
})
问题1:JQGRID 模式下怎样取行数据?
用户操作模拟:用户新增一行,鼠标点进去,该行进入状态,填写数据,点击保存。
问题出现了: 点击保存以后,需要通过getRowData()获取表格里的数据传回后台,但是当行在状态下时,getRowData()取得的值为类似《input ....》《/input》 的html标签,不是框中输入的值。
解决办法:
alert getRowData()获取出的数据,你会发现《input》标签的id是5_age, 6_age之类的,也就是行id+“_colModel name”,这就好办了,
做法就是找到行的单元格的id,然后得到单元格里的内容,通过“setRowData“将其保存起来,然后再通过getRowData()取值。
示例:
var selectedId = $(’#gridTable’).jqGrid(“getGridParam“, “selrow“);
var ageId = selectedId + “_age“;
var sexId = selectedId + “_sex“;
var age= $(’#’+ageId).val();
var sex= $(’#’+sexId).val();
$(’#gridTable’).jqGrid(’setRowData’,selectedId,{age:age,sex:sex},’’);
再通过getRowData()取值,结果正确。
jqGrid中关于取得表格中值,请大侠赐教!~~~~~
假设角色id定义的name是jsid
取选中列的值如下
var gr = $(“#list“).getGridParam(’selrow’);
var jsid = $(“#list“).getCell(gr,“jsid“);
怎么看到jqgrid数据源里面的内容
jqgrid的获取返回的数据源后是通过js把数据转换成了dom,通俗说就是《tr》《td》内容1《/td》《/tr》的html然后赋予到table对象的,让浏览器知道它是一个table的内容,浏览器就显示出来了。不导出数据想看数据源,IE的话可以使用fiddler监控http的内容看到,firefox可以用firebug,谷歌浏览器也有相应的查看方式
- jqGrid单元格/行编辑模式下getRowData如何获取数据行
参考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加载时获得表格中某个单元格的值怎么获取
假设角色id定义的name是jsid
取选中列的值如下
var gr = $(“#list“).getGridParam(’selrow’);
var jsid = $(“#list“).getCell(gr,“jsid“)。

本文相关文章:
another time(another time和other time的区别)
2026年10月11日 05:00
maltreatment(maltreatment是什么意思)
2026年10月2日 13:00
libevent udp(memcache 的 value 类型有哪些)
2026年9月23日 21:30
lean cuts of meat 中的cuts是名词吗 含义是什么?difficult cuts 是不是形容词修饰名词
2026年9月19日 00:30
commitment to(commitmemt to的用法和搭配)
2026年9月14日 23:30
username must be unique(username中文意思)
2026年9月10日 02:00
memset怎么用(memset 是什么意思,怎么用,一直没搞懂)
2026年9月8日 13:10
net framework怎么安装(如何安装.net framework)
2026年8月29日 22:10
datetimepicker赋值(c# 在指定日期与现在日期之间取随机日期,并赋值给datetimepicker)
2026年8月24日 23:00
更多文章:
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00


