我是用Ext.grid.CheckboxSelectionModel()怎样在grid加载完后只设定某行的checkbox不能选?用lock()只会整个gird不能选谢谢
解决方案 »
- 求js高手 写一个事件的例子
- window.open打开一个新网页后,如何修改新网页内容?
- 再问一遍这个this指的是谁?
- 读取IFRAME中的数据
- DOM 中的all什么时候可以使用
- 如何实现分页显示数据库的内容,最简单的方法即可,源代码如下,各位高人多多指点?
- 求救!frameset里分成两个框架分别显示a.jsp和b.jsp,现在我要点击a.jsp里的按钮时执行b.jsp里的js的一个方法
- 帮忙修改一段代码,我是不会,急用啊!
- IE6下,如何让页面打印后,自动关闭
- javascript中组成二个数,然后相乘,得到最大值
- 求助!!!关于火狐浏览器frame间跳转的问题
- web table 如何选取部分区域
beforerowselect事件,返回false取消选择
var sm = new Ext.grid.CheckboxSelectionModel({
dataIndex:"id",
listeners:{'beforerowselect': function( SelectionModel, rowIndex, keepExisting,record ) {
if($.trim(record.data.ReleaseFlag)=='0'||$.trim(record.data.ReleaseFlag)=='-'){ //用户状态不正常
//Ext.Msg.alert("提示信息","当前记录已经发布,无法再修改或发布!");
//SelectionModel
return false; //不能进行选择
}else{
return true;
}
}}
});这个是我之前做的 就是控制checkbox选择的还不明白的话 你去搜索下 extjs beforerowselect 这个事件 里面的参数你看下介绍
Ext.override(Ext.grid.RowSelectionModel, {
selectRow: function(index, keepExisting, preventViewNotify) {
if (this.isLocked() || (index < 0 || index >= this.grid.store.getCount()) || (keepExisting && this.isSelected(index)) || (Number(this.grid.store.getAt(index).get("EditFlag")) === 0)) {//EditFlag是在数据源中指定的不可选中的标识
return;
}
var r = this.grid.store.getAt(index);
if (r && this.fireEvent('beforerowselect', this, index, keepExisting, r) !== false) {
if (!keepExisting || this.singleSelect) {
this.clearSelections();
}
this.selections.add(r);
this.last = this.lastActive = index;
if (!preventViewNotify) {
this.grid.getView().onRowSelect(index);
}
this.fireEvent('rowselect', this, index, r);
this.fireEvent('selectionchange', this);
}
}
});
beforerowselect方法可以控制不能选,但同时gird rowdblclick事件就不会发生,因为我的rowdblclick事件会弹出视窗修改资料,又不想纪录的checkbox被选,被选的纪录用作提交id去删除还有什么方法令到checkbox不能选,而又能够rowdblclick?