0

在我的 jqgrid 中,我有一个表中的字段表示 id,我将其设置如下

{name:'e_info_id',index:'e_info_id', width:60, sorttype:"int",key: true}

对于json阅读器,我将其设置为

 jsonReader : { repeatitems: false ,id: "e_info_id",root:"rows"}

现在,当我单击添加/编辑图标时,会打开一个编辑对话框,因为我没有设置 e_info_id,因为editable:true该 id 字段不会显示在表单对话框中,但是当我单击提交时,我无法在以下函数中访问该 ID

 onclickSubmit: function (options, postdata) {

          postdata.e_info_id // is undefined 

 }

但是一旦我将 e_info_id 定义为 editable=true , postdata.e_info_id 现在就有了一个值。现在我看到这很奇怪,我不知道如何摆脱它

{name:'e_info_id',index:'e_info_id', width:60, sorttype:"int",key: true,editable:true}

此外,为了防止用户意外更新 e_info_id,我尝试将其隐藏如下并保持可编辑:true 只是为了获取 e_info_id 中的值$.jgrid.edit

   beforeShowForm: function(form) { $('#tr_e_info_id', form).hide(); }

但是这个问题,当我双击表格的行 beforeShowForm 不会被触发时,会出现 e_info_id 字段。

ondblClickRow: function(rowid) {
        $(this).jqGrid('editGridRow',rowid);
    }

现在我没有解决方法,所以基本上我的问题不是在添加/编辑对话框中显示 e_info_id 字段,而是在 onclickSubmit 中获取 e_info_id 的值

4

1 回答 1

1

为什么你同时使用key: true and jsonReader : { id: "e_info_id",...}?我认为这是你的主要问题。我建议您删除id: "e_info_id"key: true仅使用。

此外,我不明白该'e_info_id'列的含义。如果您在行 ( of )id中使用正确的属性填充 jqGrid,则 id 将以该名称发送到服务器 (如果您从 中删除)。你想为用户显示列吗?您希望用户在“编辑”表单中看到信息吗?所有选项都是可能的,但这不是依赖id<tr>'id'id: "e_info_id"jsonReader

于 2012-03-29T20:21:00.987 回答