Offval属性自定义复选框格式化程序jqGrid

时间:2013-01-31 10:31:52

标签: jqgrid

我正在编写自定义复选框格式化程序,但我无法理解offval属性的用途和值应该是什么。

特别是在设置editoptions的值时。例如editoptions: { value:"Yes:No" }

我可以看到默认的复选框格式化程序始终将offval设置为no。此api documentation表示它也可以设置为off。在代码中我也看到该值可以设置为editoptions的第二个值。如果示例为No,但这可以是任何提供的值。

那么如何为复选框格式化程序实现offval属性?提前谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您不需要在自定义复选框格式化程序中设置任何offval属性。如果使用edittype: "checkbox",jqGrid会设置属性本身(请参阅the part of code)。因此,在我看来您不需要在custom formattercustom editing control中设置offval ,如果您也创建它。

顺便提一下,当我发布formatter: "clickableCheckbox"的代码时,我遇到了和你一样的问题。我没有理解offval的意思,我只是在代码中包含了offval="no"。 :-)。我不认为它有任何意义,但确定必须测试所有原因。

如果您编写多次使用的自定义格式化程序,我建议您使用

(function ($) {
    "use strict";
    $.extend($.fn.fmatter, {
        yourFormatterName: function (cellValue, options) {
            ....
        }
    });
    $.extend($.fn.fmatter.yourFormatterName, {
        unformat: function (cellValue, options, elem) {
            ...
        }
    });
}(jQuery));

作为格式化程序的原型。在这种方式中,您将注册新的格式化程序" yourFormatterName"您可以像使用其他任何predefined formatters一样使用它:您只需在相应列的列定义中使用formatter: "yourFormatterName"而不是formatter: "checkbox"。我发现这种方式非常实用。