Slickgrid,编辑前确认

Slickgrid, confirm before edit

本文关键字:确认 编辑 Slickgrid      更新时间:2023-09-26

我正在制作一个光滑的网格,需要能够添加带有代码列的行。为了实现这一点,代码列需要对整个表进行编辑。

我正试图找到一种方法,我可以用标准的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
    }
});

如果我正确理解你的问题(你想在将你的值应用到网格之前确认你的编辑),你应该为你的代码列编写一个自定义编辑器。然后您就可以对用户输入进行绝对控制。

您还可以拦截所有单元格编辑并完全控制通过指定自定义处理程序提交这些编辑的方式和时间通过设置editCommandHandler网格选项。

请参阅此以获取进一步的参考。

editCommandHandler是一种更合适的机制。

请参阅http://mleibman.github.io/SlickGrid/examples/example3b-editing-with-undo.html.

您可以使用OnBeforeEdit

grid.onBeforeEditCell.subscribe(函数(e,args){''''如果返回true,它将编辑单元格,而不是}});