Как отобразить горизонтальную полосу прокрутки в jqgrid



У меня есть широкая jqgrid, которую я сузил с помощью свойства width. Когда я использовал это, горизонтальная полоса прокрутки не появляется. Как я могу это показать?



Любая помощь будет очень признательна,



Спасибо



Хайме



Правка:



Это текущий код JS, который у меня есть. Полоса прокрутки по-прежнему не отображается:



<script type="text/javascript">
$(function () {
$("#personal").jqGrid({
url: "@Url.Action("List")",
datatype: "json",
mtype: "GET",
colNames: ["Departamento",
"Nombres",
"Apellido Paterno",
"Apellido Materno",
"RUT",
"Contraseña",
"Fecha Nacimiento",
"Fotografía",
"Estado Civil",
"Género",
"Dirección",
"Cargo",
"E-mail",
"Fecha Ingreso",
"Creación",
"Modificación",
" "],
colModel: [
{ name: "departamento", index: "dep_nombre", editable: true, edittype: "select", editoptions: { width: 100, dataUrl: "@Url.Action("GetDepartments","Departamento")" }, width: 250, editrules: { required: true } },
{ name: "per_nombres", index: "per_nombres", editable: true, width: 250, editoptions: { maxlength: 80, size: 32 }, editrules:{ required:true } },
{ name: "per_apellido_paterno", index: "per_apellido_paterno", editable: true, width: 250, editoptions: { maxlength: 80, size: 32 }, editrules: { required: true } },
{ name: "per_apellido_materno", index: "per_apellido_materno", editable: true, width: 250, editoptions: { maxlength: 80, size: 32 } },
{ name: "per_dni", index: "per_dni", editable: true, width: 100, editoptions: { maxlength: 20, size: 17 }, editrules: { required: true } },
{ name: "per_contrasena", editable: true, width: 100, editoptions: { maxlength: 50, size: 17 }, editrules: { required: false } },
{ name: "per_fecha_nacimiento", index: "per_fecha_nacimiento", editable: true, width: 100, editrules: { date: true }, formatter: 'date', formatoptions: {srcformat: 'SortableDateTime', newformat: 'd-m-Y'}, editoptions: { size: 17, dataInit: function (el) { $(el).datepicker({ dateFormat: 'dd-mm-yy' }); } }, },
{ name: "per_fotografia", index: "per_fotografia", editable: true, width: 250, edittype: "file", editoptions: { maxlength: 255, size: 32 } },
{ name: "per_estado_civil", index: "per_estado_civil", editable: true, edittype: "select", editoptions: { value: "S:Soltero; C:Casado; V:Viudo; D:Divorciado" }, width: 100 },
{ name: "per_sexo", index: "per_sexo", editable: true, edittype: "select", editoptions: { value: "M:Masculino; F:Femenino" }, width: 100 },
{ name: "per_direccion", index: "per_direccion", editable: true, width: 250, editoptions: { maxlength: 512, size: 32 } },
{ name: "per_cargo", index: "per_cargo", editable: true, width: 100, editoptions: { maxlength: 50, size: 32 } },
{ name: "per_email", index: "per_email", editable: true, width: 100, editoptions: { maxlength: 80, size: 32 }, editrules: { email: true } },
{ name: "per_fecha_ingreso", index: "per_fecha_ingreso", editable: true, width: 100, editrules: { date: true }, formatter: 'date', formatoptions: {srcformat: 'SortableDateTime', newformat: 'd-m-Y'}, editoptions: { size: 17, dataInit: function (el) { $(el).datepicker({ dateFormat: 'dd-mm-yy' }); } }, },
{ name: "per_creado_el", index: "per_creado_el", editable:false, search:false, width: 100, align: "center", formatter: "date" },
{ name: "per_modificado_el", index: "per_modificado_el", editable:false, search:false, width: 100, align: "center", formatter: "date" },
{ name: 'acciones', width: 58, fixed: true, sortable: false, resize: false, search:false, formatter: 'actions', formatoptions: { keys: true } }
],
jsonReader: {
repeatitems: false,
id: "per_id"
},
pager: "#pager",
rowNum: 10,
rowList: [10, 20, 30],
sortname: "per_apellido_paterno",
sortorder: "asc",
viewrecords: true,
gridview: true,
autoencode: true,
multiselect: true,
shrinkToFit: false,
caption: "Funcionarios",
editurl: "@Url.Action("AjaxEdit")",
height: '100%',
width: 935,
rownumbers: true,
rownumWidth: 40
});

$("#personal").jqGrid('hideCol', ["per_contrasena", "per_fotografia", "per_direccion"]);
$("#personal").jqGrid('navGrid', '#pager', { edit: false, add: true, del: true, search: false }, { width: 500 }, { width: 500 }, {}, { multipleSearch: false, multipleGroup: false });
$("#personal").jqGrid('filterToolbar', { searchOperators: false });

$.jgrid.edit.addCaption = "Agregar Funcionario o Visita";
$.jgrid.edit.editCaption = "Modificar Funcionario o Visita";
$.jgrid.edit.saveData = "¡El funcionario fue modificado! ¿Almacena los cambios?";

$.jgrid.formatter.date.newformat = 'd-m-Y H:i';
});
</script>
646   7  

7 ответов:

Без какого-либо кода, некоторые вещи вам нужно будет посмотреть...

Не используйте autowidth и убедитесь, что вы не используете shrinkToFit (он должен быть установлен в false). Кроме того, горизонтальная полоса прокрутки должна появиться только с этими двумя изменениями. В дополнение к этому следует также убедиться, что ширина задана явно для каждого столбца в модели столбцов.

Добавление div с некоторой шириной и переполнением: auto вокруг стола должно сделать трюк.

<div style="width:100px;overflow:auto;"><table id="personal"></table><div>

Просто добавьте

 shrinkToFit : false,

Это заставило макет таблицы фиксированно расти в соответствии с размером ячейки, а не сжиматься в соответствии с родительской шириной таблицы/

Горизонтальная полоса прокрутки отлично работает для меня при следующих условиях:

  1. Установка параметров shrinkToFit и forceFit. Например:

    $('#gridObtenerRegistros').jqGrid({ shrinkToFit:false, forceFit:true,

    И не используйте параметр width.

  2. Установка свойства width в пределах colmodel. Пример:

    colModel:[ {name:'numEmpleadoCliente',index:'numEmpleadoCliente', width:80, sortable: false, resizable: false}, {name:'nombre',index:'nombre', width:215, sortable: false, resizable: false}, {name:'estatus',index:'estatus', width:50, sortable: false, resizable: false}],

  3. Проверка стиля для класса .ui-jqgrid .ui-jqgrid-bdiv имеет: '

    overflow: auto;

  4. Проверка таблицы на наличие сетки не имеет свойства width.

    В моем примере: <table id="gridBusquedaRegistros"></table>

Надеюсь, это кому-нибудь поможет.

Наконец, это было потому, что никакие данные не отображались в сетке. Когда сетка возвращает данные.появится горизонтальная полоса прокрутки.

С уважением, Хайме

Вероятно, у вас есть некоторые другие CSS, определенные на странице, которые создают проблемы. демонстрационная версия, которая просто использует ваш код, отображает горизонтальные полосы прокрутки.

Вы можете попробовать, как показано ниже:

$('#grid_table').jqGrid({
    .....
    colModel: [
            // you can also set width for individual columns
            { name: "user_name", align:"center", width: "200"},
    .....
    .....

    shrinkToFit: false,
    .....

    gridComplete: function()
    {
     $('#grid_table').jqGrid('setGridWidth', '1000'); // max width for grid
    },
    .....

Comments

    Ничего не найдено.