button - jqgrid EditActionIconsColumn 事件

标签 button jqgrid action editing

我有一个jqgrid,网格中可以使用EditActionsIconsColumn,但我试图获取“编辑”、“删除”和“提交”上的单击事件。 谢谢

最佳答案

formatter:'actions' 尚未得到很好的记录。当前版本的 jqGrid 3.8.2 支持您需要的一些选项。在 lines 394-466当前版本的 jquery.fmatter.js 您可以看到更多。

您需要的是 onEditafterSave(在“提交”上)和 delOptions.onclickSubmit 参数。

说实话,我以前没有使用过“actions”格式化程序,为了理解它,我自己写了 the demo这也解决了您所有的问题。为了让其他人更容易找到示例,请在此处包含代码的最重要部分:

var grid = $("#list");
grid.jqGrid({
    datatype: "local",
    data: mydata,           // init local data which will be edited
    editurl: 'clientArray', // we will use local editing
    colNames:['Actions', ... ],
    colModel:[
        {name:'act',index:'act',width:55,align:'center',sortable:false,formatter:'actions',
         formatoptions:{
             keys: true, // we want use [Enter] key to save the row and [Esc] to cancel editing.
             onEdit:function(rowid) {
                 alert("in onEdit: rowid="+rowid+"\nWe don't need return anything");
             },
             onSuccess:function(jqXHR) {
                 // the function will be used as "succesfunc" parameter of editRow function
                 // (see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing#editrow)
                 alert("in onSuccess used only for remote editing:"+
                       "\nresponseText="+jqXHR.responseText+
                       "\n\nWe can verify the server response and return false in case of"+
                       " error response. return true confirm that the response is successful");
                 // we can verify the server response and interpret it do as an error
                 // in the case we should return false. In the case onError will be called
                 return true;
             },
             onError:function(rowid, jqXHR, textStatus) {
                 // the function will be used as "errorfunc" parameter of editRow function
                 // (see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing#editrow)
                 // and saveRow function
                 // (see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing#saverow)
                 alert("in onError used only for remote editing:"+
                       "\nresponseText="+jqXHR.responseText+
                       "\nstatus="+jqXHR.status+
                       "\nstatusText"+jqXHR.statusText+
                       "\n\nWe don't need return anything");
             },
             afterSave:function(rowid) {
                 alert("in afterSave (Submit): rowid="+rowid+"\nWe don't need return anything");
             },
             afterRestore:function(rowid) {
                 alert("in afterRestore (Cancel): rowid="+rowid+"\nWe don't need return anything");
             },
             delOptions: {
                 // because I use "local" data I don't want to send the changes to the server
                 // so I use "processing:true" setting and delete the row manually in onclickSubmit
                 onclickSubmit: function(rp_ge, rowid) {
                     // we can use onclickSubmit function as "onclick" on "Delete" button
                     alert("The row with rowid="+rowid+" will be deleted");

                     // reset processing which could be modified
                     rp_ge.processing = true;

                     // delete row
                     grid.delRowData(rowid);
                     $("#delmod"+grid[0].id).hide();

                     if (grid[0].p.lastpage > 1) {
                         // reload grid to make the row from the next page visable.
                         // TODO: deleting the last row from the last page which number is higher as 1
                         grid.trigger("reloadGrid", [{page:grid[0].p.page}]);
                     }

                     return true;
                 },
                 processing:true // !!! the most important step for the "local" editing
                                 //     skip ajax request to the server
             }
         }},
        ...
    ],
    ...
});

关于button - jqgrid EditActionIconsColumn 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5196387/

相关文章:

grails - Grails按钮无法执行我的操作?

ruby-on-rails - rails : redirect_to :controller= >'tips' , :action => 'show' , :id => @tip. 永久链接

java - 在 <html :errors> in Action 上发送错误消息

jquery - Facebox jquery 框的关闭按钮

css - 为什么我的按钮文本不能在按钮 [CSS] 的中间垂直对齐?

jqGrid 过滤器工具栏显示仅针对单列的搜索运算符选择器

jqGrid:激活全选复选框时如何加载所有数据?

javascript - 如何知道 JqGrid 多选 'select all' 复选框被选中

Java Struts 在执行的操作完成后调用另一个操作

javascript - 如何使用javascript同时触发回车键和按钮