[英]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.