javascript - selrrrow 在 jqGrid 4.15.6 中返回 null
问题描述
我们将 jqGrid 升级到 4.15.6,现在多选 selrrrow 返回 null 而不是 id 数组。
我该如何解决这个问题,或者是否有另一种方法来获取选定的多行?
这是网格的设置代码
var jqTable = $(als.webview.analyteresults.runAnalyteResultsTableId);
var jqTableParent = $('#main');
var parentHeight = jqTableParent.height();
var parentWidth = jqTableParent.width();
jqTable.jqGrid({
datatype: 'local',
loadonce: true,
mtype: 'POST',
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
url: 'ResultsEditorAjax/GetResults',
editurl: 'ResultsEditorAjax/EditResults',
jsonReader: als.common.jqgrid.jsonReader('taskcd'),
colModel: [
{ name: 'taskcd', label: 'taskcd', index: 'taskcd', sortable: false, search: false, hidden: true },
{ name: 'Seq', label: 'Pos', index: 'Seq', sortable: false, width: 3, search: false },
{ name: 'Type', index: 'Type', sortable: false, width: 5, align: 'center', search: false },
{ name: 'Workorder', index: 'Workorder', sortable: false, width: 12, align: 'center', search: false },
{ name: 'Ordno', label: 'Seq', index: 'Ordno', sortable: false, width: 5, align: 'center', search: false },
{ name: 'SampleType', label: 'Samp Type', index: 'SampleType', width: 10, align: 'center', search: false },
{ name: 'Numres', label: 'RAW Res', index: 'Numres', width: 10, align: 'right', search: false },
{ name: 'RRI', index: 'RRI', width: 3, align: 'right', search: false },
{ name: 'Final', index: 'Final', width: 10, align: 'right', search: false },
{
name: 'Status', label: 'Sts', index: 'Status', width: 10, align: 'center',
cellattr: function (rowId, cellValue) {
var tooltip;
switch (cellValue) {
case 'Logged', 'Pass':
tooltip = ' style="background-color: #c6e3c4"';
break;
case 'Done':
tooltip = ' style="background-color: #ffffa9"';
break;
case 'Fail':
tooltip = ' style="background-color: #ffc4d2"';
break;
default:
tooltip = ' style="background-color: #c6e3c4"';
break;
}
return tooltip;
}
},
{ name: 'FailReason', label: 'Fail reason', index: 'FailReason', width: 12, search: false },
{
name: 'Weight', index: 'Weight', width: 10, align: 'right', search: false,
formatter: function (cellvalue) {
return cellvalue ? cellvalue.toFixed(4) : '';
}
},
{ name: 'Volume', index: 'Volume', width: 7, align: 'right', search: false },
{ name: 'Dilution', index: 'Dilution', width: 8, align: 'right', search: false },
{ name: 'Ts', index: 'Ts', width: 4, align: 'right', search: false, hidden: true },
{ name: 'Tsa', index: 'Tsa', width: 4, align: 'right', search: false, hidden: true },
{ name: 'DRunno', index: 'DRun', width: 4, align: 'right', search: false, hidden: true },
{ name: 'Vessel', index: 'Vessel', width: 4, align: 'right', search: false, hidden: true },
{ name: 'Rep', index: 'Rep', width: 10, align: 'right', search: false, hidden: true },
{ name: 'Methtype', index: 'Methtype', width: 4, align: 'right', search: false, hidden: true },
{ name: 'Origsts', index: 'Origsts', width: 4, align: 'right', search: false, hidden: true },
{ name: 'Reason', index: 'Reason', width: 10, align: 'left', search: false, hidden: true }
],
caption: 'Results for this run / analyte',
hidegrid: false,
autowidth: true,
shrinkToFit: true,
loadError: JsonError,
scroll: true,
rowNum: 10000,
viewrecords: true,
recordtext: '{2} result(s) for this run.',
emptyrecords: '',
altRows: true,
altclass: 'gridAltRowClass',
pager: '#pagerRunAnalyteResults',
beforeSelectRow: runAnalyteResultsGridBeforeRowSelect,
onSelectRow: runAnalyteResultsGridRowSelect,
multiselect: true,
gridComplete: function () {
$('table.ui-pg-table tr td:nth-child(3)').attr('colspan', 3);
},
loadComplete: runAnalyteResultsGridLoaded
}).hideCol('cb')
.setGridHeight(parentHeight * 0.78)
.setGridWidth(parentWidth * 0.80)
.jqGrid('navGrid', '#pagerRunAnalyteResults', { add: false, edit: false, del: false, search: false, refresh: false });
},
这是 selarrow 返回 null
callRemove: function () {
var jqTable = $(runAnalyteResultsTableId);
var runno = $(jqTable).data['runno'];
var analyte = $(jqTable).data['analyte'];
var taskcds = $(jqTable).jqGrid('getGridParam', 'selarrrow');
als.webview.analyteresults.taskRegNeedAdd = [];
$(jqTable).resetSelection();
repository.removeTask(runno, taskcds).then(function () {
getRunAnalyteResults(runno, analyte);
});
},
解决方案
推荐阅读
- excel - 如果找不到图像,则显示默认图像
- visual-studio-code - 更改 vscode 搜索的颜色
- css - 我怎样才能只选择页面中最大的滚动条(css)?
- c++ - 构造函数如何调用导致 Visual Studio 2019 发出 C26444 警告?
- vb.net - 从 FormWindowState.Minimized 还原期间,表单控件为黑色
- python - 无法在 PySide2 上加载 QMYSQL 驱动程序
- angular - 如何允许 APIM 传递到 Angular App
- javascript - 过滤器和钩子导致重新渲染问题
- python - 无限while循环意外停止python线程
- python - 了解`conda install`(通道和包)