jqGrid过滤器不工作
问题描述:
我有这样的列模型;jqGrid过滤器不工作
{ name: 'AddressId', index: 'AddressId', key: true, width: 100, editable: false, editoptions: { size: 10 } },
{ name: 'Street Number', index: 'StreetNumber', width: 100, editable: true },
所以网格列是;
AddressId,街道号码
当我在AddressId过滤,一切工作正常。当我在“街道号码”中输入一个过滤器时,过滤出现零结果。
如果我将“街道号”重命名为“街道号”,与其索引值相同,则过滤起作用。
是否有改变此设置?
编辑 这同样适用于分组。当名称与索引相同但失败时失效。
答
如果您使用loadonce: true
datatype: "local"
或一些偏远datatype
("xml"
或"json"
),那么你必须有colModel
具有相同name
和index
财产。我建议不要在案件中指定任何index
财产并仅指定name
财产。在name
值将由jqGrid复制到index
的情况下。
其次,不应使用name
属性,其值包含特殊的元字符(请参阅here)。 name
属性将用于构建一些内部jqGrid结构的id
属性的值。因此,在元素的每个选择器构造中都必须避开空间。旧版本没有这样做。更新的jqGrid版本逃脱了许多元字符,但不是空格。当前版本(4.6)逃脱空间,一般可以使用name
中的空格,但严格不建议使用。我不明白你为什么选择name: 'Street Number'
。可以使用colNames
或jsonmap
中的任何名称,但为什么需要使用name: 'Street Number'
?
好吧,于是我在columnModel中添加了一个“标题”字段,现在我将它用于标题。感谢,因为这有点指向我在正确的方向 – griegs 2014-09-07 23:46:35
@griegs:不客气!你的意思可能是'colModel'中的'label'属性而不是'heading'? – Oleg 2014-09-08 06:05:31
不,我的意思是“标题”。然后在网格中使用“colNames:GRID.getGridHeadings()”,该方法读取所有“标题”属性,构建标题字符串并将其返回。 jqGrid允许你添加属性,并忽略它们。 – griegs 2014-09-08 21:39:24