我正在尝试向Jqxgrid动态添加行。我有一个下拉列表作为其中一列的编辑器。动态添加新行之后,然后如果更改第一行的编辑器下拉列表的选择,则“更改”事件将递归执行,从而导致“超出最大调用堆栈大小”错误。在更改事件中,我尝试设置进行更改的行中的列的值。此操作实际上是对“ change”事件进行递归调用。 请分享您的想法以解决此问题。
columns: [
{
text: 'Fee Type', columntype: 'dropdownlist', datafield: 'FeeType', align: 'left', width: 300, editable: true, sortable: false, columnsresize: true,
initeditor: function (row, cellvalue, editor) {
editor.jqxDropDownList({
source: feeTypeDropdownListAdapter, displayMember: 'Description',
valueMember: 'FeeTypeId'
});
editor.bind('select', function (event) {
var args = event.args;
if (args) {
var item = args.item;
if (item != null) {
var feeTypeID = item.value;
var fundingSource = GetFundingSource(feeTypeID, editor.jqxDropDownList('source').records);
//console.log(fundingSource);
var id = $('#jqxgrid').jqxGrid('getrowid', row);
$("#jqxgrid").jqxGrid('setcellvaluebyid', id, "FundingSource", fundingSource);
}
}
},
createeditor: function (row, cellvalue, editor) {
});
},
},
{
text: 'Fee Type', datafield: 'FundingSource', align: 'left', width: 300, editable: true, sortable: false, columnsresize: true
},]