0
私はjqGrid
テーブルを持っていて、sortable
の行を持っています。 グリッドデータ列の1つに、入力を返すカスタムforamter
があります。私はFirefoxのでグリッドを開くと、入力がクリックできないhttp://fiddle.jshell.net/ejswLqjz/入力ボックスのjqGridはクリックできません
:
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');
の作業例はで見つけることができます。入力が編集可能であることに注意してください(タブを押し続けて入力がフォーカスを取得し、編集できる場合)。 IEとChromで動作します。
ソート可能なものを削除しても問題ありません。