我使用的jqGrid和对细胞的第一次点击返回null,我得到一个空的sel_id:的jqGrid onCellSelect getGridParam selrow首先点击
function onCellSelect(rowid, iCol, cellcontent, e) {
var DownlinkIndex = 7;
var UplinkIndex = 8;
var SalCodeIndex = 3;
if (iCol == DownlinkIndex) {
var grid = jQuery('#SalesPersonList');
var sel_id = grid.jqGrid('getGridParam', 'selrow');
var myCellData = grid.jqGrid('getCell', sel_id, 'Salespersonid');
var mySalName = grid.jqGrid('getCell', sel_id, 'Name');
ShowDownLink(myCellData, mySalName);
}
if (iCol == UplinkIndex) {
var grid = jQuery('#SalesPersonList');
var sel_id = grid.jqGrid('getGridParam', 'selrow');
var myCellData = grid.jqGrid('getCell', sel_id, 'Salespersonid');
var mySalName = grid.jqGrid('getCell', sel_id, 'Name');
ShowUpLink(myCellData, mySalName);
}
}
事件方法被解雇。 4个参数正在填充。但在第一次点击时,它始终为空。然后在第二次点击时,它被设置为第一次点击。然后第三次点击被设置为第二次点击。奥列格,如果你能帮忙,我会很感激。
我很高兴我的旧帖子可以帮助你。你最初的主要问题 - onCellSelect和onBeforeSelect都会在**被点击的行被选中之前被调用,所以'selrow'不能被使用。可以使用'rowid'而不是'sel_id'。你现在的代码看起来也是正确的,但我建议你只将它改为最小化:1)使用'var grid = jQuery(this);'而不是'var grid = jQuery('#SalesPersonList');'2)use像'var cmName = cm [iCol] .name; if(cmName ===“Uplines”|| cmName ===“Downlines”){'因为两个if都是相同的。最好的祝愿。 – Oleg
谢谢奥列格!伟大的提示。我非常感谢您为支持此组件所付出的努力。 – Rich
不客气! – Oleg