Slickgrid,在编辑前确认

时间:2013-07-02 22:23:30

标签: javascript slickgrid editing

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

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

3 个答案:

答案 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
  }
});