2013-10-04 3 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으로 생성되고이 divtable 태그가 생성되어 격자를 포함하도록 생성됩니다.

요약하면 문제는 데이터를 얻거나 테이블을 채우는 것이 아니라 데이터가 정확하고 테이블이 채워지지만 행이 보이지 않는 것입니다.

모든 조언이 도움이 될 것입니다.

답변

1

jqGrid 정의 설정 datatype: "local"에서 시도해보십시오.

그래도 작동하지 않는다면 colModel의 모양은 무엇이며 행을 채우는 데 사용하는 데이터 형식의 샘플이 있습니까?

+1

죄송합니다. 문제를 발견했습니다.이 문제는 '데이터 유형'이나 'colModel'과 전혀 관련이 없습니다. 단순히 열이 숨겨져있었습니다. 이제 나는 부끄럽게 여겨서 닫을 질문을했습니다. –

+1

수치스럽지 않습니다. 열이 숨겨져있는 것을 어떻게 생각했는지 게시하고 대답으로 선택하십시오. 다른 누군가가 똑같이 붙어있을 것입니다. –

관련 문제