2011-08-25 63 views
0

我有一列根據記錄中前一列的值呈現。EXTJS顯示爲[對象對象]的複選框

如果值匹配,它應該顯示一個複選框,但相反,它是顯示在網格上的翻譯:

任何人都可以提出什麼,我需要添加到顯示這個?

,{id:'review', header: "Acknowledge Review", width: 80, sortable: true, dataIndex: 'review', renderer: function(value, meta, record, id){        
           var id = Ext.id(); 
           var content = record.data['status'];    
           if(content.match(/^(VIEWED)$/i)) 
           { 
            var checkBox = new Ext.form.Checkbox({ 
             checked: false          
            }); //.render(document.body, id); 
            //checkBox.applyTo('review'); 
            return checkBox; 
           } 
          }} 
+0

好,代碼是不完整的 - 你需要一個字符串(HTML),其中,而不是你有一個指針指向的對象?你的「渲染器」返回後者。 –

+0

您的網格是EditorGrid嗎? –

+0

據我所知,我需要返回HTML,但我需要將複選框附加到基於正則表達式條件的特定行/記錄。這是一個GridPanel - 我們不希望用戶編輯網格。 – pm13

回答

2

你得到[object Object]因爲ExtJS的使用返回值作爲一個字符串(因此對象的toString方法在內部調用)。

renderer函數應該返回html標記,而不是javascript對象。

舉例來說,你可以嘗試返回類似如下:

return '<input type="checkbox">input</input>'; 
+0

我試過了,它確實創建了一個複選框,但它將其應用於所有列。你知道我如何才能將它應用於我感興趣的記錄? – pm13

+0

它應該只應用於該列,我認爲你的意思是應用於所有行,在這種情況下使用一個if和返回空行字符串,你不想複選框 – nscrob

+0

得到它,工作完美,謝謝:) – pm13