是否可以在编辑表单中对某些字段进行分组?
我想将一些字段分组在一起,给它们一个概括的名称,并给该组一些不同的背景颜色甚至边框,以便用户可以更轻松地导航。
假设我在colModel中有4个条目:

name
address
title
income
我想在编辑表单中显示它,例如:
Personal:----------
| name     [    ] |
| address  [    ] |
-------------------
Business:----------
| title    [    ] |
| income   [    ] |
-------------------
假设属于“个人”组/类别的字段将具有浅绿色背景,而“业务”组中的字段将具有浅红色背景。
困难在于有很多字段,我不想一一对应地给它们提供背景颜色。
如果有组,那么我什至可以使用一些折叠的jQuery插件来让用户隐藏一些组。
现在,我正在与custom_element一起在组中创建一些表,但是还没有成功。


正如 Tony jQuery Grid help forum:上指出的那样

当前,此功能不可用,或者最后添加了此类功能要求,以使用严重事件和编辑表单的结构知识。
我们计划在下一个主要版本中引入表单编辑中的模板。

因此,现在没有其他解决方案像 Oleg 提出的那样(感谢快速答复:)。
我用他的想法解决了(部分)我的任务。在编辑表单中添加包含表行的小节,最后逐行对行进行样式设置。
相关部分:
$('<tr class="FormData"><td class="CaptionTD ui-widget-content" colspan="2"><hr/></td></tr>').insertBefore('#tr_********,');
$("#tr_*******,#tr_*******").css("background-color","#def");
其中*******是colModel中的列名称。
添加边框并使其可折叠很麻烦,因此现在将跳过。

最佳答案

您可以做的几乎是在beforeShowForm回调中免费修改Add或Edit表单。我在the demo上演示了这个想法,我很快就为您提出了这个想法。该示例仅显示您可以做什么的示例:

对应的代码是

$.extend($.jgrid.edit, {
    recreateForm: true,
    beforeShowForm: function($form) {
       $('<tr class="FormData"><td class="CaptionTD ui-widget-content" colspan="2">' +
           '<hr/><div style="padding:3px" class="ui-widget-header ui-corner-all">' +
           '<b>Invice information (all about money):</b></div></td></tr>')
           .insertBefore('#tr_amount');
       $('<tr class="FormData"><td class="CaptionTD ui-widget-content" colspan="2">' +
           '<hr/><div style="padding:3px" class="ui-widget-header ui-corner-all">' +
           '<b>Delivery information:</b></div></td></tr>')
           .insertBefore('#tr_closed');
    }
});

我仅设置$.jgrid.edit来更改“编辑”表单中的“添加”的beforeShowForm'amount''closed'中使用的.insertBefore('#tr_amount'))insertBefore('#tr_closed')colModel中的列名。

09-25 20:30