jqGrid tableToGrid параметр "параметры" - PullRequest
3 голосов
/ 28 апреля 2010

Основы

Привет всем, я видел метод tableToGrid (Питера Романовского), определенный как tableToGrid(selector, options) в вики jqGrid, но не могу найти нигде, где есть документация options

Кто-нибудь знает об этом или где их найти? РЕДАКТИРОВАТЬ: Спасибо Олег, решено!

Подробнее

Что я на самом деле пытаюсь сделать, так это заключить результирующий jqGrid в form, который передаст значения checkbox, которые находятся в столбце таблицы. Моя проблема в том, что метод tableToGrid, по-видимому, удаляет свойство name из элементов checkbox и, следовательно, они не отправляются вместе с отправкой формы.

Ответы [ 3 ]

7 голосов
/ 28 апреля 2010

Как вы можете прочитать в http://www.trirand.com/jqgridwiki/doku.php?id=wiki:table_to_jqgrid параметр options метода tableToGrid - это не более, чем параметры создаваемой вами jqGrid (см. http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options).

Если я удалю и укажу вашу основную проблему, у вас есть данные, полученные с сервера в ответ на отправку формы. И вы хотите разместить эти данные в сетке. Чтобы сделать это, вы можете использовать более прямой способ с использованием datatype: 'local' из jqGrid. Вот пример:

var grid = jQuery('#list').jqGrid({
    caption: 'Testclusters',
    height: 'auto',
    gridview: true,
    rownumbers: true,
    sortable: true,
    datatype: 'local',
    viewrecords: true,
    pager: '#pager',
    pgbuttons: false,
    pginput: false,
    rownumbers: true,
    colNames: ['Name', 'Testtiefe', 'Std', 'FachlicheTests', 'RowVersion'],
    colModel: [
        { name: 'Name', index: 'Name', width: 120 },
        { name: 'TesttiefeName', width: 180 },
        { name: 'Std', width: 21, formatter: 'checkbox', align: 'center' },
        { name: 'IsFachlicheTests', width: 21, formatter: 'checkbox', align: 'center' },
        { name: 'RowVersion', width: 50, hidden: true }
                ]
}).navGrid('#pager', { edit: false, add: false, del: false, refresh: true, view: false, search: false })
  .navButtonAdd('#pager', { caption: "", buttonicon: "ui-icon-calculator", title: "choose columns",
      onClickButton: function() {
          jQuery('#list').jqGrid('columnChooser');
      }
});
grid.jqGrid('gridResize');
var myData = [
    { Name: "VIA XP", TesttiefeName: "Alle SW-Produkte", Std:true, IsFachlicheTests:false, RowVersion: "20FC31" },
    { Name: "KUBUS", TesttiefeName: "Alle SW-Produkte", Std:false, IsFachlicheTests:true, RowVersion: "20FC32" }
];

for (var i = 0; i <= myData.length; i++) {
    grid.addRowData(i + 1, myData[i]);
}

Прежде всего вы создаете пустой jqGrid, а затем заполняете его в соответствии с методом addRowData.

Более того, если у вас много флажков внутри jqGrid, вам может быть интересно взглянуть на мой пример из Вертикальный текст внутри заголовков таблицы с использованием библиотеки SVG на основе JavaScript и посмотреть результаты по http://www.ok -soft-gmbh.com / VerticalHeaders / TestFixedO1.htm .

1 голос
/ 04 мая 2010

ПОСТАНОВИЛИ

Метод jqGrid tableToGrid находит значение флажков в исходной таблице и автоматически реализует параметр multiSelect: true в результирующем jqGrid, показывая внутренние флажки. Чтобы получить список идентификаторов выбранных строк, просто позвоните

$('#grid').getGridParam('selarrrow')
0 голосов
/ 13 ноября 2013

Изменение ширины столбца для любого количества столбцов

В этом случае после сборки jqgrid вы можете просто перейти к генерируемой таблице и вручную изменить всю ширину столбца заголовка столбца и соответствующие данные без исправления утомительного кода.

        var tabColWidths ='70px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px';

function reDefineColWidth(){
        var widthsArr = tabColWidths.split('|');

    for(var j=0; j < widthsArr.length ; j++ ){
            $('.ui-jqgrid-labels > th:eq('+j+')').css('width',widthsArr[j]);
            $('#grid tr').find('td:eq('+j+')').each(function(){$(this).css('width',widthsArr[j]);})
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...