同一页面上多个网格的数据项选择未定义

Dataitem selection undefined for multiple grids on the same page

我试图在 onChange 函数中双击正在进行的网格,以在同一页面上的两个网格上打开 kendoWindow 共享,但它没有打开。当查看控制台时,它会在下面给出与我正在进行的网格相关的错误,但是,我可以在实际网格中看到数据项。我该如何解决?

Uncaught TypeError: dataItem is undefined

声明

$(document).ready(function () {
    getdata(que = 0);       
    $('#subform').hide(); $('#upd').hide();    
    getdata(que = 1);                                                                                     
 });

GetData 函数

function getdata(que) { 
        //console.log('que is:',que); 
        if(que==0){ 
             //   console.log('your in queue 0');                                            
            var remoteDataSource = new kendo.data.DataSource({
                transport: {
                    read: {
                        url: "triage_inv/get?id=0",
                        dataType: "json"
                    },                                
                    sort: { field: "open_dt_tm", dir: "asc"},
                    parameterMap: function (options, operation) {
                        if (operation !== "read" && options.models) {
                            return {
                                models: kendo.stringify(options.models)
                            };
                        }
                    }
                },                                                                                    
                pageSize: 20,
                page: 1
            });

        }else if(que==1){ 
            //console.log('your in queue 1');                                            
                var remoteDataSource1 = new kendo.data.DataSource({
                    transport: {
                        read: {
                            url: "triage_inv/get?id=1",
                            dataType: "json"
                        },                                
                        sort: { field: "open_dt_tm", dir: "asc"},
                        parameterMap: function (options, operation) {
                            if (operation !== "read" && options.models) {
                                return {
                                    models: kendo.stringify(options.models)
                                };
                            }
                        }
                    },                                                                
                    pageSize: 20,
                    page: 1
                }); 
            
        }

进行中的网格对象

 $('#inprogress').kendoGrid({
    dataSource: remoteDataSource,
    height: 300,
    editable: "popup",
    change: onChange,
    sortable: true,
    resizable: true,                            
    selectable: true,                            
    toolbar: ["excel"],                                      
    excel: {
...

积压网格对象

$('#backlog').kendoGrid({
    dataSource: remoteDataSource1,
    height: 400,
    editable: "popup",
    change: onChanger,
    sortable: true,
    resizable: true,                            
    selectable: true,                            
    toolbar: ["excel"],                                      
    excel: {

onChanger 函数

 function onChanger(e) {
    var rows1 = e.sender.select();                            
    rows1.each(function (e) {  
        var grid1 = $("#backlog").data("kendoGrid");
        grid1.tbody.find("tr").unbind().dblclick(function(e) {                                      
            var dataItem1 = grid1.dataItem(this);                                                                      
          //getsimilarscripts(searchData);
          var sr_num1 = dataItem1.ticket_number;
          myWindow.data("kendoWindow").open();

onChange 函数

function onChange(e) {
    var rows = e.sender.select();                                
    rows.each(function (e) {            
        var grid = $("#inprogress").data("kendoGrid");                                
        // Double click to retrieve ticket detail
        grid.tbody.find("tr").unbind().dblclick(function(e) {                                       
            console.log('inprogress grid >',grid.currentRow().dataItem(this));
          var dataItem = grid.dataItem(this);                                                                     
          //getsimilarscripts(searchData);
          var sr_num = dataItem.ticket_number;
          myWindow.data("kendoWindow").open();

如果有条件,我删除了以下 if/else,它运行得非常好。

...
 if(que==0){  
...
}else if(que==1){