禁用行选择extjs mvc
我正在使用checkboxmodel选择行,但我想根据某些逻辑禁用某些行的选择。。。 这是我正在尝试的,但“beforeselect”函数甚至不能启动禁用行选择extjs mvc,extjs,extjs-mvc,Extjs,Extjs Mvc,我正在使用checkboxmodel选择行,但我想根据某些逻辑禁用某些行的选择。。。 这是我正在尝试的,但“beforeselect”函数甚至不能启动 selModel: Ext.create('Ext.selection.CheckboxModel', { checkOnly: true, mode:'multi', listeners: { beforeselect:function(grid){ var grid=Ext.getCmp('
selModel: Ext.create('Ext.selection.CheckboxModel', {
checkOnly: true,
mode:'multi',
listeners: {
beforeselect:function(grid){
var grid=Ext.getCmp('mylist');
var selectionModel=grid.getSelectionModel();
var selectedRecords=selectionModel.getSelection();
var myValue=selectedRecords[0].get('nowreceive');
var myvalue1=selectedRecords[0].get('received');
if(myValue>myvalue1)
{return false;}
else
return true;
}} }
),
你怎么知道事件没有发生?应该是这样,但我猜,
selectedRecords[0]
没有定义,这会使执行崩溃,因为getSelection()
可能在任何选择发生之前返回一个空数组
您应该做的是使用的第二个参数,即要添加到选择中的记录
因此,您可以用更简单的方式实现侦听器:
beforeselect: function (selModel, record) {
if (record.get('nowreceive') > record.get('received')) {
return false;
}
}
你怎么知道事件没有发生?应该是这样,但我猜,
selectedRecords[0]
没有定义,这会使执行崩溃,因为getSelection()
可能在任何选择发生之前返回一个空数组
您应该做的是使用的第二个参数,即要添加到选择中的记录
因此,您可以用更简单的方式实现侦听器:
beforeselect: function (selModel, record) {
if (record.get('nowreceive') > record.get('received')) {
return false;
}
}
视图配置中的beforecellmousedown事件对我有效。这是在网格的视图配置中完成的
viewConfig: {
listeners: {
beforecellmousedown: function(view, cell, cellIdx, record, row, rowIdx, eOpts){
var myvalue=record.get('quantity_ordered');
var myvalue1=record.get('quantity_received')
if(myvalue==myvalue1)
{
return false;
}
else {
return true;
}
}
}
},
视图配置中的beforecellmousedown事件对我有效。这是在网格的视图配置中完成的
viewConfig: {
listeners: {
beforecellmousedown: function(view, cell, cellIdx, record, row, rowIdx, eOpts){
var myvalue=record.get('quantity_ordered');
var myvalue1=record.get('quantity_received')
if(myvalue==myvalue1)
{
return false;
}
else {
return true;
}
}
}
},
是的,在选择不开火之前,我试过你说的,我也试过简单的这个。。beforeselect:函数(selModel,record){alert('d'));…但是firebug/Firefox中没有任何内容。您使用的是什么版本的Ext?您应该尝试将侦听器直接添加到网格面板,而不是选择模型。从4.0.0开始提供,而从4.0.2开始仅适用于…在grid中找不到beforeselect函数这是一个事件,而不是函数。这是正确的链接。根据您的说法r comment,你的问题并不是因为这个。我想我们需要你的网格定义的全部代码来找出问题所在。没错,在ForeSelect不启动之前,我试过你说的,我也试过简单的这个..ForeSelect:函数(selModel,record){alert('d'));…但是firebug/Firefox中没有任何内容。您使用的是什么版本的Ext?您应该尝试将侦听器直接添加到网格面板,而不是选择模型。从4.0.0开始提供,而从4.0.2开始仅适用于…在grid中找不到beforeselect函数这是一个事件,而不是函数。这是正确的链接。根据您的说法r注释,您的问题并不是来自于此。我认为我们需要您的网格定义的全部代码来找出问题所在。