2013-10-04 47 views
0

我有一個jqGrid表,我無法找到一個解決方案,也沒有一個答案,在正確的方向引導我的問題,我已經閱讀了一些答案,但沒有他們專注於我的問題:jqGrid表格被填滿,但沒有行顯示

我到目前爲止閱讀過的許多相關問題都集中在使用JSON數據填充網格,但這不是我的情況。填充網格的方式是使用addRowData方法,它似乎工作,因爲當我檢查瀏覽器調試工具(Chrome 29.0.1547.76 m)上的表元素和table,tbody加上所有tr元素存在與預期的數據,但他們不可見!

inspection screenshot

所有行具有寬度和高度與0像素值,這就是爲什麼(我想)中的數據沒有顯示。但我使用相同的方法來顯示另一個表,結果是可見的。

我不能粘貼所有的代碼,因爲是混亂和spagetty,但我會盡力提供有用的信息:

// The ConvertTojqGrid method converts the data (array object) 
// into the format expected by jqGrid in order to provide the 
// colModel and rows 
var jqGridData = ConvertTojqGrid(data); 

// the divID begins with '#' 
var div = jQuery(divID)[0]; 
var table = divID + '_table' 

jQuery(divID).append('<table id="' + table.substr(1) + '"></table>'); 
// get rid of the '#' in the string ^^^^^^^^^^^^^^^ 

jQuery(table).jqGrid(
{ 
    autowidth: true, 
    gridview: true, 
    headertitles: true, 
    datatype: 'clientSide', 
    caption: gridCaption, 
    colModel: jqGridData.colModel, 
    records: jqGridData.rows.length, 
    height: div.clientHeight, 
    width: div.clientWidth 
}); 

jqGridData.rows.forEach(function(row) 
{ 
    jQuery(table).addRowData('row_id', row); 
}); 

該網頁顯示了數據的表如預期所顯示的,但有一些列隱藏,在表格的左上方放置一個按鈕,該按鈕顯示另一個表格,該表格顯示沒有隱藏列的相同表格。

將所有表格放入運行時生成的div中,並放入此div中生成一個table標記以包含網格。

簡而言之,問題並不在於獲取數據,也不在填充表格,問題在於數據是正確的,表格已填充但行不可見。

任何建議將是wellcome。

回答

1

嘗試在您的jqGrid定義設置datatype: "local"

如果這樣做不起作用,那麼你的colModel是什麼樣子的,你是否有一個你用來填充行的數據格式樣本?

+1

對不起,我打擾了......我發現了這個問題,與'datatype'和'colModel'完全沒有關係:簡單地說,這些列是隱藏的。現在我很慚愧,投票結束這個問題。 –

+1

不要羞愧 - 發佈你如何找出隱藏的列,並選擇它作爲答案 - 也許別人會卡住相同的東西。 –