JQGrid:将 JQGrid 列值作为参数传递给 cellurl 中指定的控制器方法

JQGrid: Pass JQGrid column value as a parameter to controller method specified in cellurl

我正在寻找内联编辑 JQGrid。

我的 JQGrid 有这样的列:

    colModel: [
               { name: 'Model_ID', index: 'model_id', width: 100, editable: false, hidden:  
                false },
               { name: 'Cust_Nm', index: 'cust_nm', width: 100, editable: false},
               { name: 'Model_Nm', index: 'model_nm', width: 140, editable: false, },
               { name: 'Client_Nm1', index: 'client_nm1', width: 120, editable: true},
               { name: 'Client_Nm2', index: 'client_nm2', width: 120, editable: true},
               { name: 'Client_Nm3', index: 'client_nm3', width: 120, editable: true},
               { name: 'Date', index: 'regi_date', width: 130, editable:false, search: false }
              ],
            cellEdit: true,
            cellurl: '@Url.Action("UpdateJQGrid", "Config")',
            cellsubmit: "remote"

我想将 'Model_ID' 的值传递给 "UpdateJQGrid" 控制器方法。当我编辑一个单元格并将焦点移动到 jggrid 内的其他单元格时,将调用 UpdateJQGrid。我创建了一个视图模型并将该视图模型传递给控制器​​方法。但是我只通过 ViewModel 对象获取编辑后的值,而不是所选行的其他值。如果我在控制器方法中只能得到 Model_ID 的值,我的需求就会得到解决。 非常感谢任何帮助或提示。

了解 jqGrid 的实现需要id 属性分配给网格的每一行(对每个 <tr> 元素<table> 与主要数据)。文档使用 rowid 作为 id 属性的值。如果您使用 jqGrid 的编辑功能,强烈建议您根据 native 值分配 id 属性的值,该值将从数据库中获取(存在于后端). rowid 将在 jqGrid 的大多数回调中使用,并且在编辑期间将 post 发送到服务器。 Here 您可以阅读单元格编辑期间哪些信息将发送到服务器。

如果 Model_ID(或 model_id)列中的值是 唯一的 并且这些值来自数据库,那么我建议您使用值为 rowid。要通知 jqGrid 使用该值,您可以指定 id 属性 或 jsonReader(或 xmlReader)的对应值。 id 属性 的值取决于从服务器返回的用于填充网格的数据的确切格式。另一种方法是在 Model_ID (model_id) 列中指定 key: true 属性。更改后,您将看到 jqGrid 将在单元格编辑期间将 Model_ID (model_id) 列的值发送到服务器。该值将作为 id=rowid(作为 id 参数)发送。您可以通过用法 prmNames: {id: "Model_ID"} 更改参数的名称,例如,将 id=rowid 更改为 Model_ID=rowid.

再多说一句。如果不是 确实需要 ,我建议您不要使用 index 属性。如果您错过了 属性,那么将使用 name 属性 的值。 不同 值对 nameindex 属性的使用是许多错误的根源,并且无法使用 客户端 排序、分页和 filtering/searching.