[英]Retrieve value of cells, when in edit mode in JqGrid
我使用JqGrid进行数据输入。
Iam在页面加载时显示一个空的jqgrid,单击按钮时,仅从客户端添加一个空行。
单击空行后,它变为可编辑状态,并且可以添加新值。
可以添加和编辑任意数量的行,并且所有行都处于编辑模式。
现在,我需要获取所有这些数据并将其立即发送到控制器中的操作。
JqGrid提供了不在编辑模式下检索行或单元格数据的方法。
但是在编辑模式下,没有任何办法。
我做了以下对我有用的事情,但是不确定这是否是正确的方法。
$("#btnSave").click(function () {
var rows = new Array();
//rows[0] = new Array();
//Gets total count of records shown currently
var totalrec = jQuery("#rowed2").jqGrid('getGridParam', 'reccount');
//total number of columns,
//can also use"jQuery("#rowed2").jqGrid('getGridParam', 'colModel').length"
var totalCol = 4;
var totalCells = 0;
for (var i = 0; i < totalrec; i++) {
rows[i] = new Array();
for (var j = 0; j < 4; j++) {
rows[i][j] = jQuery('#rowed2').contents().children().children().children()[totalCells].value;
totalCells++;
}
}
});
我知道上面的代码似乎简陋,肮脏,不专业,无论您想称它什么。 但是,正是我想要的。
但是,如果你们有更好的主意,请告诉我
调用editLink
函数以获取jqgrid中单元格的值。 编写formatter: editLink
的colModel
的formatter: editLink
。 在editLink
功能rowdata.providerName
所示的ProviderName的值和rowdata.description
显示在一个说明的值alert
弹出。 这些值在jggrid加载时显示。
$(document).ready(function(){
//jqGrid
$("#providerList").jqGrid({
url:'<%=request.getContextPath() %>/Admin/getProvidersList',
datatype: "json",
colNames:['Id','Edit','Provider Name','Description','Website','Active','Modified Date'],
colModel:[
{name:'providerId',search:false,index:'providerId',hidden:true},
{name:'providerId',search:false,index:'providerId', width:30,sortable: false, formatter: editLink},
{name:'providerName',index:'providerName', width:200},
{name:'description',index:'description', width:210},
{name:'website',index:'website'},
{name:'isActive',index:'isActive', width:60,},
{name:'modifyDate',index:'modifiedDate', width:80,},],
rowNum:20,
rowList:[10,20,30,40,50],
rownumbers: true,
pager: '#pagerDiv',
sortname: 'providerName',
viewrecords: true,
sortorder: "asc",
});
$('#gridContainer div:not(.ui-jqgrid-titlebar)').width("100%");
$('.ui-jqgrid-bdiv').css('height', window.innerHeight * .65);
$('#load_providerList').width("130");
$("#providerList").jqGrid('navGrid','#pagerDiv',{edit:false,add:false,del:false},{},{},{}, {closeAfterSearch:true});
$(".inline").colorbox({inline:true, width:"20%"});
});
function editLink(cellValue, options, rowdata, action)
{
alert('ProviderName: '+ rowdata.providerName);
alert('Description: '+ rowdata.description);
return "<a href='<%=request.getContextPath()%>/Admin/editProvider/" + rowdata.providerId + "' class='ui-icon ui-icon-pencil' ></a>";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.