如何在 slickgrid 的每一行上创建一个删除按钮并确认?
Posted
技术标签:
【中文标题】如何在 slickgrid 的每一行上创建一个删除按钮并确认?【英文标题】:How do I create a delete button on every row in slickgrid with confirmation? 【发布时间】:2013-01-08 07:17:43 【问题描述】:正如标题所说,我该怎么做?,我正在使用jiri创建的这个按钮:
How do i create a delete button on every row using the SlickGrid plugin?
当我在函数中添加 if(confirmation(msg)) 时,它会重复我的 msg ALOT 可能是因为我每次修改都会刷新表格。
问我是否需要更多信息,我在 *** 中仍然是菜鸟:P (如果有某种方式可以“杀死”该功能)
这是按钮,我正在使用(链接)我添加了 idBorrada 以检查 id 是否已被删除并且不要尝试删除它两次,这里也是一个确认,但是当我触摸取消时它再次询问我。
$('.del').live('click', function()
var me = $(this), id = me.attr('id');
//assuming you have used a dataView to create your grid
//also assuming that its variable name is called 'dataView'
//use the following code to get the item to be deleted from it
if(idBorrada != id && confirm("¿Seguro desea eleminarlo?"))
dataView.deleteItem(id);
Wicket.Ajax.ajax("u":"$url","c":"$gridId","ep":'borrar':JSON.stringify(id, null, 2));
//This is possible because in the formatter we have assigned the row id itself as the button id;
//now assuming your grid is called 'grid'
//TODO
grid.invalidate();
idBorrada= id;
else
;
);
,我再次调用整个函数。 希望对您有所帮助,抱歉语法不是我的母语
【问题讨论】:
,以便我们帮助您,我们真的要查看代码的相关部分。 span> 自从你说你是新的,请阅读Jon Skeet's Check List发布一个好问题。 span> 好的,我必须训练如何发布代码:/ 【参考方案1】:按照这些步骤,
-
为列对象的每一行添加一个删除链接,如下所示,
var columns =
id: "Type", name: "Application Type", field: "ApplicationType", width: 100, cssClass: "cell-title", editor: Slick.Editors.Text, validator: requiredFieldValidator, sortable: true ,
id: "delete", name: "Action", width: 40, cssClass: "cell-title", formatter: Slick.Formatters.Link
];
-
在 slick.formatters.js 中添加一个链接格式化程序,如下所示,
"Formatters":
"PercentComplete": PercentCompleteFormatter,
"YesNo": YesNoFormatter,
"Link": LinkFormatter
function LinkFormatter(row, cell, value, columnDef, dataContext)
return "<a style='color:#4996D0; text-decoration:none;cursor:pointer' onclick='DeleteData(" + dataContext.Id + ", " + row + ")'>Delete</a>";
-
在javascript中添加如下删除函数
function DeleteData(id, rowId)
var result = confirm("Are you sure you want to permenantly delete this record!");
if (result == true)
if (id)
$.ajax(
type: "POST",
url: "DeleteURL",
data: id: id ,
dataType: "text",
success: function ()
,
error: function ()
);
dataView.deleteItem(id);
dataView.refresh();
【讨论】:
以上是关于如何在 slickgrid 的每一行上创建一个删除按钮并确认?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SlickGrid 中使用 javascript 添加行
可以隐藏 SlickGrid 列而不将其从“列”数组中删除吗?