我正在制作一个光滑的网格,需要能够添加带代码列的行。为此,代码列需要对整个表进行编辑。
我正在尝试找出一种方法,我可以使用标准的javascript确认弹出框确认编辑。我尝试将一个放入slickgrid构造函数中的onedit事件,并在编辑后执行。
我被认为编辑功能独立于调用数据库的编辑存储过程。有没有更好的方法来解决这个问题?
RF_tagsTable = new IndustrialSlickGrid(
LadlesContainerSG
, {
URL: Global.DALServiceURL + "CallProcedure"
, DatabaseParameters: { Procedure: "dbo.TableRF_tags" , ConnectionStringName: Global.ConnectionStringNames.LadleTracker }
, Title: "RF tags"
, Attributes: {
AllowDelete: true
, defaultColumnWidth: 120
, editable: true
, enableAddRow: true
, enableCellNavigation: true
, enableColumnReorder: false
, rowHeight: 25
, autoHeight: true
, autoEdit: false
, forceFitColumns: true
}
, Events: {
onRowEdited : rowEdited
/*function(){ //this is my failed attempt
var r=confirm("Edit an existing tag?")
if (r){
alert(r);
} else {
alert(r);
}
}*/
, onRowAdded : rowAdded
}
});
答案 0 :(得分:0)
如果我正确理解了您的问题(您希望在将值应用到网格之前确认编辑),则应为代码列编写自定义编辑器。 然后你可以控制绝对超过用户输入。
您还可以拦截所有单元格编辑并完全控制 通过指定自定义处理程序如何以及何时提交这些编辑 通过设置editCommandHandler网格选项。
有关详细信息,请参阅this。
答案 1 :(得分:0)
editCommandHandler
是一种更合适的机制。
请参阅http://mleibman.github.io/SlickGrid/examples/example3b-editing-with-undo.html。
答案 2 :(得分:0)
您可以使用OnBeforeEdit
,
grid.onBeforeEditCell.subscribe(function(e,args) { \\if true is returned it will edit the cell othewise not } });