jqGrid在内联编辑活动时设置单元格数据

时间:2011-09-24 08:41:57

标签: jquery jqgrid inline-editing

我认为这是一个愚蠢的问题,但我找不到解决方案。 我用jqGrid创建了一个表,并启用了内联编辑 在每一行我添加了一个启用或禁用编辑的按钮 我想在编辑期间添加第二个按钮,这个按钮允许您在活动内联编辑行的各个字段中加载默认值。 我不知道在编辑时如何访问和更改数据行 如果选择了行但是没有以内联编辑模式,setRowData可以正常工作 任何人都有任何建议,谢谢。

更新 我找到了一个(我认为很糟糕的)解决方案,但解释了我的问题:

 if (edit_enabled) {
     // save current data
     jQuery('#SEQtbl').jqGrid('saveRow',row_edit, false, 'clientArray');

     // read back row data
     var row = jQuery("#SEQtbl").jqGrid('getRowData',row_edit);

     // change something  
     ....
     .....

     // save data
     jQuery("#SEQtbl").jqGrid('setRowData',row_edit, row);

     // reneter row edit mode
     jQuery('#SEQtbl').jqGrid('editRow', row_edit,true);
   }

`

1 个答案:

答案 0 :(得分:0)

我认为你已经在你发布的代码中得到了答案。

根据setRowData的jqGrid documentation“编辑行或单元格时不要使用此方法。这将设置内容并覆盖输入元素”。基本上,当您在处于编辑模式的行上调用setRowData或getRowData时,您将获取/设置行的HTML,而不是数据。

我不确定您的要求是什么,但是在启用/禁用编辑按钮的同时激活“设置默认值”按钮可能是更好的UI解决方案。用户可以单击“设置默认值”,然后设置默认值,然后进入编辑模式。

我不太明白为什么你开始使用这个“设置默认值”按钮。添加新行时不应加载默认值吗?或者您的用户可能想要将已经拥有数据的行重置为默认值?