【问题标题】:jqGrid Editing – override logic to define cell valuejqGrid 编辑 - 覆盖逻辑以定义单元格值
【发布时间】:2013-07-06 17:52:47
【问题描述】:

来自wiki 复选框的引用:

定义一个复选框;当值为 Yes 时,复选框变为 勾选,否则不勾选。该值作为 参数到editurl。

如果在editoptions中,value属性没有设置,jqGrid会搜索 以下值 (false|0|no|off|undefined) 以构造 复选框。如果单元格内容不包含其中之一 values,那么 value 属性就变成了单元格内容和 offval 设置为关闭。

我使用表单编辑,希望复选框的值不是来自单元格内容,而是来自属性 data-val,我在 loadComplete 事件处理程序中定义自己。 p>

加载完成之前:

<td aria-describedby="data_grid_col1" title="0" style="" role="gridcell">0</td>

加载完成后:

<td aria-describedby="data_grid_col1" title="0" style="" role="gridcell" data-val="0">Some content like NO</td>

是否有一些事件或其他方式来实现这一目标?

谢谢。

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    如果您需要更改单元格的内容,您应该使用自定义格式化程序。如果您需要在单元格上设置一些属性,您应该使用cellattr 回调。

    The answer 演示colspan 属性的设置,this one 设置colspanAnother answer 演示了title 属性的设置。以同样的方式,您可以在单元格(&lt;td&gt; 元素)上设置 任何其他 属性。

    loadComplete 的使用效果较差。请参阅the answer 了解更多信息。

    【讨论】:

    • 感谢您的提示!我将尝试使用自定义格式化程序而不是 loadComplete,但问题在于 edit form 上的复选框绑定损坏。 jqGrid 使用来自 colModel 的"editoptions": { "value": "1:0" },并且这些值应该设置为单元格内容。
    • @eLVik:我不明白您在“绑定损坏”下的意思。我可以看到您在&lt;td&gt; 上使用了data-val 属性,因此我在建议使用cellattr 的地方写了答案。我不明白哪个关系对您的问题有复选框。如果您定义了自定义格式化程序和取消格式化程序,那么表单编辑将使用该功能从 单元格内容 获取数据并设置 单元格内容。如果您不是在&lt;td&gt; 上使用data-val 属性,而是在它的某些子元素(&lt;span&gt;&lt;div&gt;)上使用,那么您可以使用自定义格式化程序/取消格式化程序。
    • 谢谢,@Oleg! unformatformatter 函数解决了我的问题!
    猜你喜欢
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多