jqgrid自定义inlinenav按钮

本文关键字:按钮 inlinenav 自定义 jqgrid | 更新日期: 2023-09-27 17:58:14

我有一个项目,在这个项目中,我正在生成一个JQGrid,其中包含一个gridNav和一个inlineNav。gridNav有自定义按钮,inlineNav当然有内联功能。

我的问题是,是否有可能将gridNav移动到inlineNav之后,或者直接在inlineav中添加一个自定义按钮?自定义按钮需要出现在应用程序中的inlineNav按钮之后。

任何想法或建议都将不胜感激。我希望这样做而不必为gridNav完全编写一个内联编辑处理程序。

注意:我已经尝试过移动inlineNav和gridNav,这会阻止inlineAV的呈现

jqgrid自定义inlinenav按钮

navGridinlineNavnavButtonAdd添加的所有按钮都具有相同的结构。实际上,inlineNav使用navButtonAdd将按钮附加到导航栏(例如,请参见此处)。

因此,您可以使用jQuery.insertAfter、jQuery.after、jQuery.inseltBefore、jQuery.before等更改导航栏中按钮的位置。您只需要知道导航栏中的按钮ID即可。navGrid中按钮的id将基于前缀"add_""edit_""del_""search_""refresh_""view_"和网格的id构建。inlineNav的id以id The grid开始,后缀为"_ilsave""_ilcancel""_iladd""_iledit"。有关代码示例,请参阅答案。

更新:要在导航器按钮之间找到分隔符,您可以从Delete按钮中搜索下一个按钮,该按钮内有<span class="ui-separator">

var $separator = $("#del_list").next("td:has(span.ui-separator)");

或者,您可以在寻呼机的左侧搜索分隔符。让我们使用寻呼机<div class="pager"></div>,那么寻呼机将具有ID为pager_leftpager_centerpager_right的树部分。导航器将插入寻呼机的左侧。所以你可以使用

var $separator = $("#pager_left").find("td:has(span.ui-separator)");

以获得分离器。之后,您可以像其他按钮一样移动或移除分隔符。如果您需要额外的分隔符,您可以使用navSeparatorAdd方法。