我已经完成了因为没有在选择路线上工作而给出的解决方案,但它们对我不起作用。
我有以下代码:
$("#myActions_gridTable").jqGrid({
datatype:'local',
data: myActionsData,
cellsubmit: 'clientArray',
cellEdit: true,
rowNum: noOfLinesToDisplay,
pager: $("#myActions_pager"),
sortname: 'contract_Name',
viewrecords: true,
sortorder: 'asc',
autoWidth:true,
loadonce: true,
cmTemplate: { title: false },
height:'auto',
scrollrows: true,
colNames:["id","Status"],
colModel:[
{
name:'id',index:'id', jsonmap:'id', width:1,hidden:true,key:true, editable:true
},
{name:'status',index:'status', align:'center', sortable: false,
editable: true,
edittype: "select",
width: 150,
editoptions: {
value: "1:Done;2:Running"
}
}
],
onSelectRow : function(id){
console.log('inside onSelectRow');
if (id && id !== lastsel) {
$('#myActions_gridTable').restoreRow(lastsel);
$('#myActions_gridTable').editRow(id, true);
lastsel = id;
}
}
});
此处OnSelectRow不会被触发,也不会打印console.log。 请帮忙。
答案 0 :(得分:1)
您需要将变量lastsel
定义为
var lastsel;
在上面的代码中你需要做:
var lastsel;
$("#myActions_gridTable").jqGrid({
..............
..............
..............,
onSelectRow : function(id){
console.log('inside onSelectRow');
if (id && id !== lastsel) {
$('#myActions_gridTable').restoreRow(lastsel);
$('#myActions_gridTable').editRow(id, true);
lastsel = id;
}
}
这是工作JsFiddle Demo
可以在这里得到更多信息http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events。
答案 1 :(得分:1)
一个可能的问题可能是使用edittype: "select"
而没有使用formatter: "select"
。无论如何,如果您不使用editoptions: { value: "1:Done;2:Running" }
,我会非常怀疑formatter: "select"
属性。
如何查看列"status"
的输入数据?您使用1
和2
或"Done"
和"Running"
吗?如果您想在数据中保留1
和2
值,但又希望将值显示为"Done"
和"Running"
,那么您应该使用
formatter: "select", edittype: "select", editoptions: {value: "1:Done;2:Running"}
The demo演示了它。它使用
var myActionsData = [
{ id: 10, status: 1 },
{ id: 20, status: 2 }
];
作为输入。
或者可以使用
var myActionsData = [
{ id: 10, status: "Done" },
{ id: 20, status: "Running" }
];
但应该使用
edittype: "select", editoptions: {value: "Done:Done;Running:Running"}
在案件中。在最后一种情况下,不需要formatter: "select":请参阅another demo。
答案 2 :(得分:1)
OnSelectrow
无效。
您可以使用cellEdit
代替onCellSelect
。