JQGrid Form Edit/View自定义Template表单数据

JQGrid Form Edit/View Customizing the Template form data

我正在使用 jqGrid 表单编辑,其中包含 link 中的模板 Here

但是每当用户单击 Edit/View 我不想依赖网格上的数据,但我想从服务器获取新数据并填充表单。

所以我有以下 jquery 函数,它获取正在编辑的行的新数据,

function GetItem(id) {
    $.ajax({
        url: '/Asset/GetSingleItem/'+id,
        type: 'GET',
        success: function (data) {
            //Data is the json that i want to show on my Edit form.
        }
    });
}

我想解决方案是覆盖 jqgrid 的 OnRowEdit/View 并做一些技巧。

例如,您可以在表单编辑的 beforeShowForm 回调中启动 $.ajax 请求(参见 the documentation)。在 success 处理程序中,您可以将服务器返回的数据与编辑表单中的数据进行比较。您只需要知道表单的每个字段的 idcolModel 对应列中的 name 属性 的值相同即可。如果服务器响应有更新的数据,您可以在 from 中设置属性(使用 $.val)并使用 setRowData 刷新网格中的行数据。 id="id_g"表格的隐藏字段可用于获取编辑行($("#id_g").val())的rowid。