2012-02-07 21 views
0

我仍然努力獲取jqgrid的viewGridRow函數來處理列名包含空格的網格。我想出了一個用下劃線替換空格的黑客攻擊,但被告知我應該使用jqID。具體來說,如何使用jqgrid jqid方法?

如果你想修改代碼,你最好使用$ .jgrid.jqID,而不是將空白替換爲不需要的內容。函數$ .jgrid.jqID用於jqGrid代碼的大部分地方,但仍然不是。這個問題很容易。它有一個元字符作爲id的一部分,並且一個人想用id作爲jQuery選擇器的一部分,必須避開字符。方法$ .jgrid.jqID完成這項工作。

在觀看裏面grid.base.js的源代碼,我看到函數定義爲

$.extend($.jgrid,{ 
    jqID : function(sid){ 
     return String(sid).replace(/[!"#$%&'()*+,.\/:;<=>[email protected]\[\\\]\^`{|}~]/g,"\\$&"); 
    } 
}); 

這使我相信,它應該在beforeProcessing可以或許用()函數來修改單元格ID?無論如何,我沒有看到正如它現在存在的正則表達式專門處理空間。

奧列格,如果你在那裏,幫助! :)

回答

0

D'oh !!只要我點擊提交,我意識到Oleg意味着修改jqID函數來爲正則表達式字符串添加空格。這似乎是訣竅。

+0

任何方式都可以解決問題。在發佈修改ID的建議後,我寫了關於'jqID'的文章。一般來說,我更喜歡在我推薦一些東西之前更準確地描述問題。空格在ID中的使用並不總是在當前版本的jqGrid中產生問題。請參閱[演示](http://www.ok-soft-gmbh.com/jqGrid/BlanksInIds.htm)。如果你的問題仍然沒有解決,如果你發佈一些簡單的演示可以用來重現問題,那就太好了。 – Oleg 2012-02-07 20:50:58

+0

不幸的是,我不認爲我可以......在我下載最新版本的jqgrid後,我發現這些空格不是一個網格的問題,而是與另一個網格以完全相同的方式被調用。數據源是一個擁有數百萬條記錄的數據庫,因此我不知道如何發佈示例。 – earachefl 2012-02-08 12:45:40

+0

我問你*準備*一個小演示。你可以發佈代碼,填入至少有一行數據的'datatype:'local''。 – Oleg 2012-02-08 12:56:02