У меня была такая же проблема. Я решил эту проблему, добавив 4 строки кода в GridComplete. эти 4 строки изменят стиль тд в области содержимого [достаточно изменения стиля тд первой строки]. Это проблема в jqgid. Который на самом деле устанавливает тд внутри '', но этот стиль не отражается в тд области содержимого. При разработке jqgrid они предполагали, что на всю ширину столбцов будет влиять изменение ширины tds одной строки, но они изменились только для '', что является постоянной проблемой.
Установка ширины столбца в ColModel:
colModel: [
{
name: 'Email',
index: 'Email',
editable: true,
edittype: 'custom',
width: 220,
editoptions: {
custom_element: function(value, options) {
return EmailAddressCustomElement(value, options);
},
custom_value: function(elem) {
var inputs = $("input", $(elem)[0]);
return inputs[0].value;
}
}
},
{
name: 'LocationAndRole',
index: 'LocationAndRole',
editable: true,
align: "left",
edittype: "button",
width: 170,
editoptions: {
value: 'Edit Location And Role',
dataEvents: [{
type: 'click',
fn: function(e) { ShowUsersLocationAndRoles(e); }
}]
}
},
Добавьте приведенный ниже код в событие gridComplete:
gridComplete: function() {
var objRows = $("#list_accounts tr");
var objHeader = $("#list_accounts .jqgfirstrow td");
if (objRows.length > 1) {
var objFirstRowColumns = $(objRows[1]).children("td");
for (i = 0; i < objFirstRowColumns.length; i++) {
$(objFirstRowColumns[i]).css("width", $(objHeader[i]).css("width"));
}
}
}
Надеюсь, приведенный выше код поможет вам в решении проблемы.