【问题标题】:JqGrid view-column in editGridRow-modeeditGridRow 模式下的 JqGrid 视图列
【发布时间】:2011-02-01 20:04:36
【问题描述】:

有没有办法将 modalDialog 中的列定义为视图列(没有任何输入元素,既不可编辑也不可保存)?还是只能通过edittype:'custom' 工作?

我的设置在那里:

http://babiychuk.com/demo/en/catalog/index/c_picture

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    jqGrid 使用$.jgrid.createEl 方法为任何类型的编辑构建元素,包括form editing(函数editGridRow)。您如何在the source code of the function createEl 中看到它使用<input><select><button><textarea><span> 元素作为表单对话框的“输入”部分。选择取决于相应jqGrid列的edittype

    因此,您必须使用edittype:'custom' 才能拥有<span> 元素,或者您可以尝试在beforeShowForm 事件处理程序中修改表单元素。

    【讨论】:

    • 我用edittype:'custom'和'custom_element' => "function(value, options) {return '<span>'+value+'</span>';}",函数完成了它是最好的方法吗?我在这里不喜欢的是 span-element 被渲染了两次。我尝试使用已经存在的跨度,但没有成功。
    • @Anatoliy:这是一种误解。您询问了编辑表单对话框中包含的 HTML 元素。如果您双击演示 babiychuk.com/demo/en/catalog/index/c_picture 中的任何行以打开“编辑”对话框,您可以使用 Internet Explorer 开发人员工具检查它包含的内容。您可以在 Google Chrome 中使用集成的开发人员工具或在 Firefox 中使用 Firebug 执行相同的操作。独立于您使用的工具,您将看到“评级”元素的数据已放置<span class="FormElement">...</span> 中。所以你自己不需要它。
    • @Anatoliy:大多数其他元素都放在<input> 元素中。所以如果你不想拥有<input> 元素,你可以使用edittype:'custom' 的任何实现。
    • 对不起,我没有提到我在谈论单元格“代码”。如果您查看单元格“代码”的内部,您会发现 span 元素两次。我讨厌冗余。到目前为止,评级问题对我来说已经解决了——工作条件很好。 PS。我已经在使用 firebug 了;)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多