2014-09-05 284 views
2

我有這樣的列模型;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過濾,一切工作正常。當我在「街道號碼」中輸入一個過濾器時,過濾出現零結果。

如果我將「街道號」重命名爲「街道號」,與其索引值相同,則過濾起作用。

是否有改變此設置?

編輯 這同樣適用於分組。當名稱與索引相同但失敗時失效。

回答

3

如果您使用loadonce: truedatatype: "local"或一些偏遠datatype"xml""json"),那麼你必須有colModel具有相同nameindex財產。我建議不要在案件中指定任何index財產並僅指定name財產。在name值將由jqGrid複製到index的情況下。

其次,不應使用name屬性,其值包含特殊的元字符(請參閱here)。 name屬性將用於構建一些內部jqGrid結構的id屬性的值。因此,在元素的每個選擇器構造中都必須避開空間。舊版本沒有這樣做。更新的jqGrid版本逃脫了許多元字符,但不是空格。當前版本(4.6)逃脫空間,一般可以使用name中的空格,但嚴格不建議使用。我不明白你爲什麼選擇name: 'Street Number'。可以使用colNamesjsonmap中的任何名稱,但爲什麼需要使用name: 'Street Number'

+0

好吧,於是我在columnModel中添加了一個「標題」字段,現在我將它用於標題。感謝,因爲這有點指向我在正確的方向 – griegs 2014-09-07 23:46:35

+0

@griegs:不客氣!你的意思可能是'colModel'中的'label'屬性而不是'heading'? – Oleg 2014-09-08 06:05:31

+0

不,我的意思是「標題」。然後在網格中使用「colNames:GRID.getGridHeadings()」,該方法讀取所有「標題」屬性,構建標題字符串並將其返回。 jqGrid允許你添加屬性,並忽略它們。 – griegs 2014-09-08 21:39:24