onCellselect, события не запускаются в jqgrid с использованием настроек по умолчанию - PullRequest
0 голосов
/ 09 октября 2011

Я настроил jqgrid, используя все последние файлы, и он прекрасно работает, но я не могу получить даже базовые события для запуска, используя внутренние методы. Я что-то упустил?

Это включает

<link href="style.css" rel="stylesheet" type="text/css" />
<link href="scripts/css/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="scripts/css/ui.jqgrid.css" />
<script type="text/javascript" src="scripts/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="scripts/jquery-ui-1.8.16.custom.min.js"></script>
<script src="scripts/jqgrid/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="scripts/jqgrid/jquery.jqGrid.min.js" type="text/javascript"></script>
<script type="text/javascript" src="scripts/scripts.js"></script>

И это строит сетку

$("#tasklist").jqGrid({
                            url:'gettaskdoc.php',
                            datatype: "json",
                            height:"auto",
                            autowidth:true,
                            gridview:true,
                            sortable:true,
                            colNames:['Id','Done By', 'Project', 'Type','Details','StartDate','EndDate','Time Taken','MthlyHrsLeft','StoredHrsLeft'],
                            colModel:[
                                {name:'idno',index:'idno', width:20},
                                {name:'doneby',index:'doneby', width:80, classes: 'sltuser'},
                                {name:'project',index:'project', width:120, classes: 'sltproject'},
                                {name:'type',index:'type', width:80},
                                {name:'details',index:'details', width:200},        
                                {name:'startdate',index:'startdate', width:70}, 
                                {name:'enddate',index:'enddate', width:70},
                                {name:'timetaken',index:'timetaken', width:50},
                                {name:'mthlyhrsleft',index:'mthlyhrsleft', width:50},
                                {name:'storedhrsleft',index:'storedhrsleft', width:50}
                            ],
                            rowNum:20,
                            rowList:[20,40,60],
                            pager: '#taskpager',
                            sortname: 'idno',
                            viewrecords: true,
                            sortorder: "asc",
                            caption:"Combined Taskdoc",
                            onCellSelect :  function(rowid, index, contents, event) {
                                alert('test');
                                }
                        });
                        $("#tasklist").jqGrid('navGrid','#taskpager',{edit:true,add:false,del:false});

Журнал ошибок в Chrome при каждом нажатии на сетку.

122Uncaught TypeError: Невозможно вызвать метод indexOf из неопределенного b.jgrid.extend.setSelectionjquery.jqGrid.min.js: 122 e.extend.eachjquery-1.6.4.min.js: 2 e.fn.e.eachjquery-1.6.4.min.js: 2 b.jgrid.extend.setSelectionjquery.jqGrid.min.js: 121 b.fn.jqGridjquery.jqGrid.min.js: 29 b.fn.jqGrid.each.b.before.click.bind.a.p.datatypejquery.jqGrid.min.js: 105 f.event.handlejquery-1.6.4.min.js: 3 f.event.add.i.handle.k

1 Ответ

0 голосов
/ 10 октября 2011

Ах, кажется, мне не хватает определений для jsonReader ... странно, что это не во всех демонстрациях json для сайта jqgrid.

jsonReader : {
    root: "rows",
    page: "page",
    total: "total",
    records: "records",
    repeatitems: true,
    cell: "cell",
    id: "id"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...