格式化程序操作的 'formatoptions' 上的 jQGrid 动态 URI

标签 jqgrid formatter

实际上,我已经实现了一个 REST 解决方案,用于在 jQGrid 上的 NavGrid 中 POST、PUT 和 DELETE 数据。

现在,在每一行的操作按钮中,我尝试执行相同的操作,但我不知道如何在默认格式化程序操作上生成动态 url。

我尝试这样做:

colModel : [
          {name:'actions', index:'', width:80, fixed:true, sortable:false, resize:false,
              formatter:'actions', 
              formatoptions:{ 
                  url: function(cellValue, rowId, rowData){
                      return restPutURL + '/' + rowId ;
                  },
                  mtype: 'PUT',
                  keys:true,
                  delOptions:{
                      url: restDelURL,
                      recreateForm: true, 
                      beforeShowForm:beforeDeleteCallback,
                      onclickSubmit :function(params, postdata) {
                        params.url += '/' + postdata;
                      }
                  }
              }
          },
          { ...my cols.. }
       ]

删除操作可以,但编辑不起作用。当保存一行时,jQGrid 发送函数作为 URI 的一部分:

system/function%20(cellValue,%20rowId,%20rowData)%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log(cellValue);%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/system/function%20(cellValue,%20rowId,%20rowData)%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20

如何创建动态 URI?或者,如何将已编辑行的 id 添加到 URI?

最佳答案

如果您使用当前版本的 jqGrid,您可以使用 beforeSaveRow 回调在保存行之前执行一些操作,例如修改 URL。不幸的是 formatter: "actions" 不允许您设置 beforeSaveRow 回调,但您仍然可以使用 $.jgrid.inlineEdit 来执行此操作。相应的代码可能类似于

$.extend(true, $.jgrid.inlineEdit, {
    beforeSaveRow: function (option, rowId) {
        option.url = restPutURL + '/' + rowId;
    }
});

$.extend(true, $.jgrid.inlineEdit, {
    beforeSaveRow: function (option, rowId) {
        option.url = this.p.editurl + '/' + rowId;
    }
});

关于格式化程序操作的 'formatoptions' 上的 jQGrid 动态 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082840/

相关文章:

java - 在 Java 中格式化字符串关于它的长度(以字节为单位)

Eclipse 在导入后包装 NOPMD 标签

jquery - 我们可以动态添加 jqgrid 选项吗?

jquery - 在jqgrid中如何在排序后保持网格的状态

jqgrid - 如何只导出可见数据?

swift - 子类化格式化程序在初始化程序上崩溃

时区偏移量的 java.time DateTimeFormatter 模式

asp.net - 如何让 jqGrid 在后端使用 ASP.NET + JSON 工作?

jqgrid - 在 jQGrid 中禁用一行