класс в столбце jqgrid не работает - PullRequest
0 голосов
/ 02 декабря 2011

Привет, я использую пользовательский форматер в jqGrid, который добавит ссылку и класс в столбец.имя класса, которое я назову, - iframe, который установит мое собственное диалоговое окно, используя jquery colorbox.Я видел в firebug, что класс имени столбца был установлен 'iframe', но когда я щелкнул по нему, диалог не работал.я не прав?

<script type="text/javascript" language="javascript">
jQuery(document).ready(function() {
$(".iframe").colorbox({ iframe: true, width: "40%", height: "80%", onClosed:function(){ location.reload(true); }  });

jQuery("#MyDynamicGrid").jqGrid({
        url: '/RepositoryRole/DynamicGridData/',
        mtype: 'POST',
        datatype: 'json',
        colModel: [                
            { name: 'Name', index: 'Name', width: 0, align: 'left', searchoptions: { sopt: ['cn', 'eq', 'ne'] }, formatter: returnMyLink, editable: true, editrules: { required: true, edithidden: true }, hidden: false },
            { name: 'Description', index: 'Description', width: 80, align: 'left', searchoptions: { sopt: ['cn', 'eq', 'ne'] },  },                
        ],

        colNames: ['Name', 'Description'],
        pager: jQuery('#pager'),
        rowNum: 5,
        rowList: [5, 10, 20, 30],
        sortname: 'Name',
        sortorder: 'Desc',
        viewrecords: true,
        imgpath: '/Content/JqGridThemes/steel/images',            
        autowidth: true,
        editurl: '/User/EditGrid/'
    });

function returnMyLink(cellValue, options, rowdata, action) {
    return '<a href="#" class="iframe">' + cellValue + '</a> ';
}});

Спасибо

1 Ответ

0 голосов
/ 02 декабря 2011

Я думаю, что colorbox не привязан к элементу, загруженному из jqgrid.Вы можете использовать gridComplete для повторного присоединения colorbox

jQuery("#MyDynamicGrid").jqGrid({
        url: '/RepositoryRole/DynamicGridData/',
        mtype: 'POST',
        datatype: 'json',
        colModel: [                
            { name: 'Name', index: 'Name', width: 0, align: 'left', searchoptions: { sopt: ['cn', 'eq', 'ne'] }, formatter: returnMyLink, editable: true, editrules: { required: true, edithidden: true }, hidden: false },
            { name: 'Description', index: 'Description', width: 80, align: 'left', searchoptions: { sopt: ['cn', 'eq', 'ne'] },  },                
        ],

        colNames: ['Name', 'Description'],
        pager: jQuery('#pager'),
        rowNum: 5,
        rowList: [5, 10, 20, 30],
        sortname: 'Name',
        sortorder: 'Desc',
        viewrecords: true,
        imgpath: '/Content/JqGridThemes/steel/images',            
        autowidth: true,
        editurl: '/User/EditGrid/',
        gridComplete: function(){
        $(".iframe").colorbox({ iframe: true, width: "40%", height: "80%",       onClosed:function(){ location.reload(true); }  }
       }
    });
...