JQgrid устанавливает высоту строки
Я использую JqGrid с JavaScript. Я бы установил высоту каждой строки таблицы, но я не понимаю, как это сделать.
Это мой код:
function jobList(){
var json=doShowAll();
alert("jobList() ==> php/get_job_status.php?value="+json);
jQuery("#jobList").jqGrid({
url:'php/get_job_status.php?value='+json,
datatype: "xml",
colNames:['id','title', 'start', 'stop','completed'],
colModel:[
{name:'id',index:'id', width:15,hidden:true, align:"center"},
{name:'title',index:'title', width:150, align:"center"},
{name:'start',index:'start', width:350, align:"center", sorttype:"date"},
{name:'fine',index:'fine', width:350, align:"center", sorttype:"date"},
{name:'completed',index:'completed', width:120, align:"center",formatter:highlight},//il solitoformatter:infractionInFormatter},
],
//rowNum:8,
//rowList:[8,10,20,30],
pager: '#pagerJobList',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
multiselect: false,
subGrid: false,
autowidth: true,
height: 250,
rowheight: 300,
caption: "Job Progress",
afterInsertRow: function(rowid, aData){
jQuery("#jobList").jqGrid('setCell', rowid, 'completed', '', {
background: 'red',
color: 'white'
});
},
onSelectRow: function(id){
//alert(id);
var title="";
if (id) {
var ret = jQuery("#jobList").jqGrid('getRowData',id);
title=ret.id;
//alert(title);
}
else {
alert("Please select row");
}
var json2=doShowAll();
subGrid(json2,title);
}
}
);
}
Изменение высоты строк значения RowHeight не изменяется. Это мой результат таблицы
Большое спасибо.
4 ответа
Вы можете установить высоту отдельных строк jqGrid или любое другое свойство CSS с помощью setRowData
метод (см. эту статью вики). Вы можете сделать это, например, в loadComplete
:
$("#list").jqGrid({
// ...
loadComplete: function() {
var grid = $("#list"),
ids = grid.getDataIDs();
for (var i = 0; i < ids.length; i++) {
grid.setRowData(ids[i], false, { height : 20 + (i * 2) });
}
// grid.setGridHeight('auto');
}
});
Вы можете увидеть рабочий пример здесь. Здесь вы можете видеть, что после изменения высоты строк может быть хорошей идеей изменить высоту сетки. После отмены комментариев строки с setGridHeight
, результаты будут выглядеть так.
ОБНОВЛЕНИЕ На основании вопроса из комментария: Чтобы изменить высоту заголовка таблицы с id="list", вы можете сделать следующее:
$("table.ui-jqgrid-htable", $("#gview_list")).css ("height", 30);
$("#gview_list")
это div над телом сетки и заголовками сетки.
Вы можете увидеть результаты здесь.
Это также работает:
.ui-jqgrid .ui-jqgrid-htable th {
height: 2em !important;
}
.ui-jqgrid tr.jqgrow td{
height: 1em !important;
}
В ui.jqgrid.css
file измените строку в разделе / * body */ на следующую:
.ui-jqgrid tr.jqgrow td {
font-weight: normal;
overflow: hidden;
white-space: nowrap;
height: 22px;
padding: 0 2px 0 2px;
border-bottom-width: 1px;
border-bottom-color: inherit;
border-bottom-style: solid;
}
white-space:
изменен с pre
в nowrap
,
Я решил эту проблему, установив это правило в таблице стилей CSS:
.grid .ui-jqgrid-htable th,
.grid .ui-jqgrid-btable .jqgrow td {
height: 3em !important;
}