2010-12-10 77 views
3

我試圖在html表上使用jqgrid生成一個網格。我能夠做到這一點,但如果表中沒有行,我想顯示一條消息。我怎樣才能做到這一點?jqGrid tableToGrid - 如果在表中找不到行,則顯示消息

這是我的jquery代碼...

jQuery.extend(jQuery.jgrid.defaults, { 
       caption: "my list", 
       autowidth: true, 
       height: "100%", 
       hidegrid: false, 
       loadComplete: function() { 
        alert("Grid has been loaded"); 
       }, 
       colModel:[ 
        { name: 'date', index: 'date', width: 0, resizable: false }, 
        { name: 'icon', index: 'icon', width: 0, resizable: false }, 
        { name: 'shop', index: 'shop', width: 0, resizable: false }, 
        { name: 'delete', index: 'delete', width: 0, resizable: false } 
       ] 
      }); 
      tableToGrid("#item_table", { 
       colNames: ['Date', '', 'Shop', 'Delete'] 
      }); 

回答

6

$.jgrid.defaults.emptyrecords(見grid.locale-en.js)定義的標準消息將每默認只有在填充的jqGrid情況下從服務器(加載遠程數據被顯示見this answer)。相應的文本(請參閱grid.locale-en.js)狀態欄右側將顯示「沒有要查看的記錄」。

another answer我演示瞭如何在'local'填充jqGrid的情況下強制顯示文本(如您的情況)或如何在網格的主體區域顯示相應的文本(請參閱答案中的演示) 。因此,如果將現有表格轉換爲jqGrid,則可以執行相同的操作,即tableToGrid。這樣做的事件處理程序beforeRequest可以在jQuery.jgrid.defaults中定義,或者作爲tableToGrid函數的第二個參數的附加屬性。如果您遵循第二個演示,您應修改當前用於顯示/隱藏div的代碼loadComplete,並在jqGrid正文中使用「no rows」消息。

+0

「另一個答案」中的鏈接不正確:與「此答案」鏈接相同。在哪裏可以找到引用的答案和代碼,它沒有在網格體中顯示recods找到的消息? – Andrus 2012-01-29 14:05:53

0

其實這不是一個錯誤。如果你看看jqGrid.css文件,你會發現在表中的每一行應用的樣式與「白色空間:前」

.ui-jqgrid tr.jqgrow td {font-weight: normal; overflow: hidden; white-space:pre; height: 22px;padding: 0 2px 0 2px;border-bottom-width: 1px; border-bottom-color: inherit; border-bottom-style: solid;} 

如果從所有類中刪除此風格(在/ * *身體/節),那麼你會被迫把單元格內容放在一個標記行中。

相關問題