我有一個jqGrid表,我無法找到一個解決方案,也沒有一個答案,在正確的方向引導我的問題,我已經閱讀了一些答案,但沒有他們專注於我的問題:jqGrid表格被填滿,但沒有行顯示
- JQGrid data not being displayed
- jqgrid fail to display json data
- jqGrid fetched json but has empty rows and no data
- JqGrid is not able to display data
- JQGrid not showing json data
我到目前爲止閱讀過的許多相關問題都集中在使用JSON數據填充網格,但這不是我的情況。填充網格的方式是使用addRowData
方法,它似乎工作,因爲當我檢查瀏覽器調試工具(Chrome 29.0.1547.76 m)上的表元素和table
,tbody
加上所有tr
元素存在與預期的數據,但他們不可見!
所有行具有寬度和高度與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。
對不起,我打擾了......我發現了這個問題,與'datatype'和'colModel'完全沒有關係:簡單地說,這些列是隱藏的。現在我很慚愧,投票結束這個問題。 –
不要羞愧 - 發佈你如何找出隱藏的列,並選擇它作爲答案 - 也許別人會卡住相同的東西。 –