2016-09-03 2 views
0

Ich habe eine jqGrid Tabelle mit sortable Zeile. Eine der Rasterdatenspalten hat eine benutzerdefinierte foramter, die eine Eingabe zurückgibt.jqGrid mit Eingabefeld ist nicht anklickbar

var data = [ 
    [48803, "DSK1", "", "02200220", "OPEN"], 
    [48769, "APPR", "", "77733337", "ENTERED"], 
    [48813, "DSK1", "", "02200220", "OPEN"], 
    [48770, "APPR", "", "77733337", "ENTERED"] 
]; 

function inputBox (cellvalue, options, rowObject){ 
    return '<input type="text" value=" '+ rowObject.thingy +'" />'; 
} 

$("#grid").jqGrid({ 
    datatype: "local", 
    height: 250, 
    colNames: ['Inv No', 'Thingy', 'Blank', 'Number', 'Status'], 
    colModel: [{ 
     name: 'id', 
     index: 'id', 
     sorttype: "int" 
    }, { 
     name: 'thingy', 
     index: 'thingy', 
     sorttype: "date", 
     formatter: inputBox 
    }, { 
     name: 'blank', 
     index: 'blank', 
    }, { 
     name: 'number', 
     index: 'number', 
     sorttype: "float" 
    }, { 
     name: 'status', 
     index: 'status', 
     sorttype: "float" 
    }], 
    caption: "Stack Overflow Example", 
    gridview: true, 
    rowattr: function (rd) { 
     if (rd.thingy==="DSK1") { 
      return { "class": "notsortable" }; 
     } 
    } 
}); 

var names = ["id", "thingy", "blank", "number", "status"]; 
var mydata = []; 

for (var i = 0; i < data.length; i++) { 
    mydata[i] = {}; 
    for (var j = 0; j < data[i].length; j++) { 
     mydata[i][names[j]] = data[i][j]; 
    } 
} 

for (var i = 0; i <= mydata.length; i++) { 
    $("#grid").jqGrid('addRowData', i + 1, mydata[i]); 
} 
$('#grid').jqGrid('sortableRows'); 

Arbeitsbeispiel finden Sie unter: http://fiddle.jshell.net/ejswLqjz/

Als ich das Gitter in Firefox öffnen, ist die Eingabe nicht anklickbar. Bitte beachten Sie, dass die Eingabe editierbar ist (wenn Sie die Tabulatortaste gedrückt halten, erhalten Sie den Fokus und Sie können ihn bearbeiten). Es funktioniert in IE und Chrom.


Wenn ich die Sortierung entfernen, funktioniert es gut!

Antwort