关于 jqgrid:jqgrid – 如何在编辑或添加记录时将 jquery ui 选项卡添加到 jqgrid 对话框?

jqgrid - How to add jquery ui tab to jqgrid dialog box while editing or adding a record?

我拥有一个用于管理用户的 jqgrid 对话框,我可以添加或编辑用户属性。

但我得出的结论是,用户信息应该分为两个独立的部分,公共和高级。

现在,当我想添加或编辑用户时,正在打开的用于编辑和添加用户的对话框应该包含两个选项卡,高级和常规

最后,如何在jqgrid用户管理对话框中添加标签?

我在下面的链接中看到了内容,但没有答案。

jqgrid-customize-modal-popup.

customizing-view-modal-popup-in-jqgrid

提前致谢。


我觉得你的问题很有趣,但你不应该期望一个简单的解决方案。没有简单解决方案存在的原因有很多。

首先,jqGrid 是 jQuery 插件而不是 jQuery UI Widget。它只使用 jQuery UI CSS 框架。所以 jqGrid 不使用 jQuery 小部件,如 Tabs、Dialog、Button、Tooltips、Datepicker、Autocomplete 等。甚至不会使用效果或位置实用程序。可以将 jqGrid 集成到使用小部件的解决方案中,但它不会在内部使用。

第二个原因:jqGrid的编辑表格的结构是面向表格的。 jqGrid 内部用于获取表单编辑结果的函数 getFormData 使用面向表格的选择器(见行和行)

1
$("#"+"TblGrid_"+$.jgrid.jqID($t.p.id)+">tbody>tr>td>.FormElement").each(function() {

因此,例如,您不能只是在 afterShowForm 回调内部的另一个选项卡中移动一些输入元素。在这种情况下 getFormData 将无法正常工作并且不会将编辑结果发送到服务器。

您可以务实地做的是通过表单中有趣的附加信息对数据进行分组。有关详细信息,请参阅答案。

另一种方法是使用formoptions 的colposrowpos 属性。有关详细信息,请参阅答案。

您可以结合上述两种方法。