free-jqgrid:formatter:“选择”解决'undefined'问题,但不显示预期的数据

问题描述:

需要帮助,请... 我刚刚升级到free-jqgrid 4.13.6。之前我使用的是jqgrid 4.3free-jqgrid:formatter:“选择”解决'undefined'问题,但不显示预期的数据

我正在使用下面的代码,我在下面看到它,因为它在图片中。 这里的区别在于第一个colModel(Review)我使用的是格式器:“select”。在这种情况下,我得到的值为“”或“”。但是,当有一个空值,我得到“undefined”。

在第二列(状态)中,我没有使用格式化程序:“select”。在这里,我将该值作为“Y”或“N”,当它为空时变为空白。

但我需要的值显示为是/否空白当值为空时。

注:这是在4.3的jqGrid

enter image description here

{name:'Review', width:85, fixed: true, align:'center', sortable: false, search: false, editable: true, resizable: false, stype:'select', formatter: "select", 
    edittype:'select', editoptions:{ 
     value:'Select:Select;Y:Yes;N:No', 
     defaultValue:'Intime', 
     multiple: false 
    }, 
     searchoptions: { 
     sopt: ['eq','ne'], 
     value: 'Y:Yes;N:No', 
     attr: {multiple: 'multiple', size: 2}, 
     dataInit: dataInitMultiselect 
    } 
}, 
{name:'Status', index:'confirmationStatus', sortable: false, search: false, width: 80, fixed: true, align:'center', resizable: false, editable: true, stype:'select', 
    edittype:'select', editoptions:{ 
     value:'Select:Select;Y:Yes;N:No', 
     defaultValue:'Intime', 
     multiple: false 
    }, 
    searchoptions: { 
     sopt: ['eq','ne'], 
     value: 'Y:Yes;N:No', 
     attr: {multiple: 'multiple', size: 3}, 
     dataInit: dataInitMultiselect 
    } 
}, 
+0

哪个值可能在列?为什么你使用'defaultValue:'intime''和'value:'选择:选择; Y:是; N:否'而不是'value:Y:是; N:否'?你使用了哪个'dataInitMultiselect'?您是否使用jqGrid的'plugins'文件夹中的'ui.multiselect.js'? – Oleg

+0

老实说,我不知道defaultValue:'银泰'。我只是找到了已经存在的代码。值相同:'选择:选择; Y:是; N:否'。我们正在使用Eric Hynds'multiselect – SKumar

+0

看起来像是值:'Select:Select; Y:Yes; N:No'已被用于在下拉菜单中显示“Select”。 fyi:这不是一个多选下拉菜单。 – SKumar

工作正常,你应该修复列ReviewdefaultValue:'Intime'。您必须使用您在value中定义的值内部的值。我想它应该是defaultValue:'N'

我建议你看一下the issue,我在这里介绍一下免费jqGrid的下一个版本的一些新功能,你已经从GitHub加载了。它采用sopt: ["in"]

stype: "select", 
searchoptions: { 
    generateValue: true, 
    //noFilterText: "Any", 
    sopt: ["in"], 
    attr: { 
     multiple: "multiple", 
     size: 4 
    }, 
    dataInit: dataInitMultiselect 
} 

尝试https://jsfiddle.net/OlegKi/3oeatxur/6/

+0

美丽。删除了这段代码,并按照我的想法工作。谢谢你... defaultValue:'银泰'。我仍然有很多要学习和有很多问题,不知道我可以问...有一个限制是*,我可以在3小时内只发布一个问题...现在在同一个网格中,我试图做select全部(网格左上角的复选框,多选:true)。但我不想编辑行,只想选择。我已经这样做了。但我在网格外面有一个按钮。点击那个按钮我想编辑所有选定的行并将值更新到特定列 – SKumar

+0

@SKumar:不客气!如果您准备JSFiddle中的小型演示程序,这将显示您现有的问题,这将会更有成效。我可以修改你的代码来演示如何修复它。 – Oleg

+0

我真的很喜欢JSFiddle。但在这里被阻止。这就是为什么我自己也无法看到很多答案。因此,对于上面的查询,我已经尝试了下面的代码,但是当行数超过100时它非常慢。并且用户不想分页 – SKumar