[英]unable to delete a row from jqgrid
情况:我正在开发一个spring mvc webapp,因为我试图为jqgrid中的每一行提供一个删除按钮,当用户点击删除按钮时,执行一个javascript函数,向控制器发送请求,从控制器中删除该行。 DB然后从jqgrid中删除行,实现这个我的html如下:
<table id="grid"></table>
<div id="pager"></div>
和javascript如下:
var mydata = [{
name: "Toronto",
country: "Canada",
continent: "North America"
}, {
name: "New York City",
country: "USA",
continent: "North America"
}, {
name: "Silicon Valley",
country: "USA",
continent: "North America"
}, {
name: "Paris",
country: "France",
continent: "Europe"
}]
$("#grid").jqGrid({
data: mydata,
datatype: "local",
colNames: ["Name", "Country", "Continent","action"],
colModel: [{
name: 'name',
index: 'name',
editable: true,
}, {
name: 'country',
index: 'country',
editable: true,
}, {
name: 'continent',
index: 'continent',
editable: true,
},{
name: 'conti',
index: 'cont',
formatter : hello,
editable: true,
}],
pager: '#pager'
});
function hello(cellvalue, options, rowObject)
{
return '<a href="javascript:deleteRow(\'' + rowObject.name
+'/');">delete</a>';
//code to remove this row from jqgrid
}
问题:现在当按下删除按钮时,行从服务器的DB中删除但是我无法弄清楚如何从jqgrid中删除行,我尝试使用delRowData
但它需要rowid
而我只有rowobject
,有谁能告诉我我怎么能使用rowobject
从jqgrid中删除相关的行?
通常,建议在输入数据中包含id
属性。 id
将用于将id
属性的值分配给网格的行( <tr>
元素)。
重要的是要知道自定义格式化程序的options
参数包含可能对您有用的属性: options.rowId
和options.colModel
。 您可以将options.rowId
转发为deleteRow
函数的附加参数。
我找到了一个解决方案,我们可以从options
对象中检索rowId
,如下所示:
function hello(cellvalue, options, rowObject)
{
return '<a href="javascript:clickFunction(\'' + options.rowId + '\');">' + "DELETE" + '</a>';
}
然后,当用户点击超链接“删除”时,执行clickFunction()
,因为delRowData()
接受rowId
并删除相关行。
function clickFunction(rowid)
{
alert(rowid);
$('#grid').delRowData(rowid);
}
文档: http : //www.trirand.com/jqgridwiki/doku.php?id = wiki: custom_formatter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.