打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
extaspnet 的grid如何禁止选中某些行

extaspnet里应该没有封装相关方法,那就baidu吧

baidu是最好的老师,虽然它是流氓,但我承认中文资料搜索它就是老大,英文资料则绝对是google

找到答案:如下

  1. var sm = new Ext.grid.CheckboxSelectionModel({  
  2.         dataIndex:"id",  
  3.         listeners:{'beforerowselect': function( SelectionModel, rowIndex, keepExisting,record ) {  
  4.         if($.trim(record.data.ReleaseFlag)=='0'||$.trim(record.data.ReleaseFlag)=='-'){ //用户状态不正常  
  5.         //Ext.Msg.alert("提示信息","当前记录已经发布,无法再修改或发布!");  
  6.         //SelectionModel  
  7.         return false; //不能进行选择  
  8.         }else{  
  9.         return true;  
  10.         }  
  11.         }}  
  12.     });  

尝试把代码写到页面 onReady事件里面添加addlistens,调试几次都不成功,遂搬出老方法,替换render

代码如下:

 

  1. protected override void Render(HtmlTextWriter writer)  
  2. {  
  3.     StringWriter strWriter = new StringWriter();  
  4.     base.Render(new HtmlTextWriter(strWriter));  
  5.     writer.Write(  
  6.         strWriter.ToString()  
  7.         .Replace("var x2_sm=new Ext.grid.CheckboxSelectionModel({singleSelect:false});",  
  8.         "var x2_sm = new Ext.grid.CheckboxSelectionModel({listeners:{'beforerowselect':"+  
  9.         "function( SelectionModel,rowIndex,keepExisting,record)"+  
  10.         "{if (rowIndex==2){return false;}else{return true;}},singleSelect:false}});")  
  11.         );  
  12. }  

 

代码中x2_sm是我测试页面中grid的CheckboxSelectionModel,直接透过替换法添加了beforerowselect事件

这事件中测试,让grid第3行无法选中。

运行测试,效果满意,第3行无法选中,单击行,点行首checkbox,全选都不行,目的达到,收工,因为是后台代码,控制逻辑也更方便,还可以配合rowcolor行颜色的方法来加以标识,则效果完美

 

 

 

 

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
怎么样能让Ext.grid.CheckboxSelectionModel为默认选中状态
ASP.NET Web开发框架之 查询
ExtJS Grid Tooltip的3+1种实现方式总结
grid一系列操作比如分组。。4.0
Extjs 下拉grid
ExtJS gridPanel属性说明(转)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服