Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проблемы работы с JqGrid (https://javascript.ru/forum/jquery/28724-problemy-raboty-s-jqgrid.html)

fen0man 31.05.2012 12:25

Проблемы работы с JqGrid
 
Привет всем.
Проблема такого характера:
1. Я пользу jqGrid и храню там некие данные - к этим данным прилагается фильтрация (не родная)...
Фильтр делает выборку данных из таблицы и оставляет нужные остальные скрывает..., но когда мне необходимо вернуть все в начальное состояние...
грубо говоря clearGridData и по новой залить инфу - у меня пропадает событие onSelectRow

каким образом его можно подключить или вызвать ...

что то типа этого в фильтре не работает ...
$("#table").jqGrid({

   onSelectRow: function(id){ 

} 
});


вот основной код:
callJqGrid: function(){
        var self = this;
        
        
        $("#table").jqGrid({
            datatype: 'local',
            colNames:['id','Номер','Сообщение', 'Статус', 'dateF', 'i'],
            colModel:[
            {
                name:'id',
                index:'id',
                align:'left',
                hidden: true

            },

            {
                name:'phone',
                index:'phone',
                align:'left',
                width: 145,
                height: 24,
                fixed: true

            },

            {
                name:'text',
                index:'text',
                align:'left',
                fixed: true,
                width: 376,
                height:24
            },

            {
                name:'status',
                index:'status',
                align:'left',
                width: 100,
                fixed: true,
                height:24
            },

            {
                name: 'dateF',
                index: 'dateF',
                hidden: true
            },

            {
                name: 'menu',
                index: 'menu',
                align: 'center',
                width: 22,
                fixed: true,
                height: 24
            }
            ],
            caption: 'История сообщений',
            width: '639',
            height: '810',
            sortname: 'id',
            sortorder: 'asc',
            sortable: false,
            editable: false,
            resizable: true,
            scrollrows: false,
            dialogClass: 'sms-history',
            open: function(){
               
                
                
            },
            onSelectRow:function(id)
            {
                $("#table").width(639);
                self.minimazeGrid(id);
            },
            close: function(event, ui){
                $("#table").remove();
            }
        }
        );

        var obj = new Obj();
        var data1 = obj.getObjArr();
        for(var i = 0;i<=data1.length; i++)
        {
            $('#table').jqGrid('addRowData',i+1,data1[i]);
        }


Вот фильтр:
clearDateF: function (){
        var self = this;
        $("#table").jqGrid('clearGridData');
        var obj = new Obj();
        var temp = obj.getObjArr().length;

        

        for(var i = 0;i<temp; i++)
        {
            $('#table').jqGrid('addRowData',i+1,obj.getObjArr()[i]);
        }


Мне необходимо после заливки подключить функцию onSlectRow для каждого столбца...

Заранее спасибо за Любые Идеи...!

imsha 04.06.2012 09:33

Вроде bind должен помочь
$("#table").bind("onSelectRow", function(){ alert("a"); });

zebra 04.06.2012 10:45

Убивать грид и заново вешать события

Deff 04.06.2012 11:30

fen0man,
Вешайте событие jQuery-метом live или one
http://jquery-docs.ru/Events/


Часовой пояс GMT +3, время: 09:41.