所以,我很好奇是否可以在jQWidgets Grid中取消选中当前单击的行。
我尝试过以下代码,但似乎无效:
$("#jqxGrid").on("rowclick", function (event) {
var selectedRowIdx = event.args.rowindex;
// this part doesn't work
$("#jqxGrid").jqxGrid('unselectrow', selectedRowIdx);
// this part doesn't work as well
$("#jqxGrid").jqxGrid('clearselection');
$("#jqxGrid").jqxGrid('selectrow', 0);
});
这是我如何初始化网格:
var columns = { .. some init values here };
$('#jqxGrid').jqxGrid({
autoheight: true
, width: '100%'
, pageable: true
, altrows: true
, source: {}
, columnsresize: false
, columnsheight: 25
, autoheight: true
, autorowheight: true
, sortable: true
, editable: true
, altrows: true
, selectionmode: 'singlerow'
, pagermode: "simple"
, columns: columns
, ready : function() {
columnSelection.initialize('#jqxGrid',0,"10",columns);
}
, cellhover: function (element, pageX, pageY){
// hover churvabels here
}
});
答案 0 :(得分:0)
我想您在选择之前尝试取消选择一行,因为在您单击它之后选择了一行。如果您将代码置于超时状态,它可能会起作用。
答案 1 :(得分:0)
好吧我也试图让这个也能运作,这是我在经过大量搜索后想出来的:
$("#jqxGrid").on('rowclick', function (event) {
var index = $("#jqxGrid").jqxGrid('getselectedrowindex');
var clickedIndex = event.args.rowindex;
if (clickedIndex == index) {
setTimeout(function () {
$("#jqxGrid").jqxGrid('clearselection');
}, 10);
}
});
此外,当您将源集数据字段创建为数据字段时,或者由于某种原因它将无法正常工作