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
属性 的值。 不同 值对 name
和 index
属性的使用是许多错误的根源,并且无法使用 客户端 排序、分页和 filtering/searching.
我正在寻找内联编辑 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
属性 的值。 不同 值对 name
和 index
属性的使用是许多错误的根源,并且无法使用 客户端 排序、分页和 filtering/searching.