JqGrid - расширение подсетки при загрузке страницы - PullRequest
0 голосов
/ 15 августа 2010

У меня есть Jqgrid с включенной подсетью в моем проекте MVC 2.Подсетка расширяет и заполняет данные по нажатию кнопки.Я хочу развернуть и показать данные подсетки при загрузке страницы.Поэтому я вызвал метод exapandSubGridRow для события gridComplete родительской сетки.Теперь проблема в том, что строка подсетки раскрывается при загрузке страницы, но без данных пустая строка появляется под строкой родительской сетки.Вот мой код, Может ли кто-нибудь помочь мне в решении проблемы.

<script type="text/javascript">
   jQuery(document).ready(function () {
        jQuery("#list").jqGrid({
            url: '/jqgrid/DynamicGridData/',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['SurveyQnGrpId', 'SurveyQnGroup1'],
            colModel: [
              { name:'SurveyQnGrpId', index:'SurveyQnGrpId', width:40, align:'left' },
              { name:'SurveyQnGroup1',index: 'SurveyQnGroup1',width: 400,
                align: 'left'}],
            pager: jQuery('#pager'),
            rowNum: 10,
            rowList: [5, 10, 20, 50],
            sortname: 'SurveyQnGrpId',
            sortorder: "SurveyQnGroup1",
            viewrecords: true,
            caption: 'My first grid',
            subGrid: true,
            subGridUrl: '/jqgrid/InnerGridData/',
            subGridModel: [{
                name: ['SurveyQnGrpId','SurveyQnId', 'SurveyQn', 'SurveyQnCategory',
                       'MandatoryQn','RadioOption3'],
                width: [10,10, 100, 10, 10,10],
                align: ['left', 'left', 'left', 'left'],
                params: ['SurveyQnGrpId']
            }],
            gridComplete: function () {
                var rowIds = $("#list").getDataIDs();
                $.each(rowIds, function (index, rowId) {
                        $("#list").expandSubGridRow(rowId); 
                }); 
            } 
        });
    });
</script>

Заранее спасибо, Анси

1 Ответ

1 голос
/ 17 апреля 2013

Я не знаю, было ли это доступно в тот момент, когда задавался этот вопрос, но я обнаружил, что есть свойство subGridOptions, которое принимает объект. Одним из свойств этого объекта является expandOnLoad, которое при значении true будет расширять строки в родительской сетке при загрузке сетки:

jQuery(document).ready(function () {
    jQuery("#list").jqGrid({
        url: '/jqgrid/DynamicGridData/',
        datatype: 'json',
        mtype: 'GET',
        colNames: ['SurveyQnGrpId', 'SurveyQnGroup1'],
        colModel: [
          { name:'SurveyQnGrpId', index:'SurveyQnGrpId', width:40, align:'left' },
          { name:'SurveyQnGroup1',index: 'SurveyQnGroup1',width: 400,
            align: 'left'}],
        pager: jQuery('#pager'),
        rowNum: 10,
        rowList: [5, 10, 20, 50],
        sortname: 'SurveyQnGrpId',
        sortorder: "SurveyQnGroup1",
        viewrecords: true,
        caption: 'My first grid',
        subGrid: true,
        subGridOptions: { expandOnLoad: true },
        subGridUrl: '/jqgrid/InnerGridData/',
        subGridModel: [{
            name: ['SurveyQnGrpId','SurveyQnId', 'SurveyQn', 'SurveyQnCategory',
                   'MandatoryQn','RadioOption3'],
            width: [10,10, 100, 10, 10,10],
            align: ['left', 'left', 'left', 'left'],
            params: ['SurveyQnGrpId']
        }],
        gridComplete: function () {
            var rowIds = $("#list").getDataIDs();
            $.each(rowIds, function (index, rowId) {
                    $("#list").expandSubGridRow(rowId); 
            }); 
        } 
    });
});

См .: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:subgrid

...