• 【原创+转载】让CheckboxSelectionModel类型Ext.grid.GridPanel的某行不能选择


    让Ext.grid.GridPanel不能选择,即令Ext.grid.CheckboxSelectionModel不能选择,因为GridPanel是要引用CheckboxSelectionModel的。下例是当store里的用户状态不正常(字段memberstatus不为1)的记录行,让它在被选择时提示无法选择,关键在于'beforerowselect'事件,看代码吧

     1 var membersm = new Ext.grid.CheckboxSelectionModel({
    2 dataIndex:"memberid"
    3 ,listeners:{'beforerowselect': function( SelectionModel, rowIndex, keepExisting,record ) {
    4 if(record.data.memberstatus!='1'){ //用户状态不正常
    5 Ext.Msg.alert("提示信息","该党员状态为禁用,无法选择!");
    6 return false; //不能进行选择
    7 }else{
    8 return true;
    9 }
    10 }}
    11
    12 });
     
    ————————
    PS:文章系转载,开始看了半天,由于本人对ExtJS的无知,导致不知道怎么玩。后来慢慢会了。哈哈。
    先得在
    <ext:CheckboxSelectionModel Visible="true" ID="UserCheck" runat="server" SelectedRecordID="UserId">
    </ext:CheckboxSelectionModel>
     ”
    之间,调用“BeforeRowSelect”事件,代码如下:
    1 <ext:CheckboxSelectionModel Visible="true" ID="UserCheck" runat="server" SelectedRecordID="UserId">
    2 <Listeners>
    3 <BeforeRowSelect Fn="MyBeforeRowSelect" />
    4 </Listeners>
    5 </ext:CheckboxSelectionModel>

    然后写个JS方法即可,如下,其中返回false表示此行的CheckboxSelectionModel不允许被选中,返回true,表示允许被选中

    1 var MyBeforeRowSelect = function(SelectionModel, rowIndex, keepExisting, record) {
    2 //alert("sss" + rowIndex + ",当前UserName的值:" + record.get('UserName') + ",当前ISMY的值:" + record.get('ISMY'));
    3 if (record.get('ISMY') == "0") {
    4 return false;
    5 }
    6 else {
    7 return true;
    8 }
    9 }

    感概下:nnd,俺需要学的的确够多啊。。

     
     
     
  • 相关阅读:
    ashx session
    jquery-tmpl中添加js判断
    问题与解决方案
    VS2013打包发布 winform程序
    Sorket通信
    加载页面菜单,原来也可以这么写
    pm2模块编写入门
    使用PouchDB来实现React离线应用
    让fetch也可以timeout
    使用JSON Schema来验证接口数据
  • 原文地址:https://www.cnblogs.com/shlcn/p/2134197.html
Copyright © 2020-2023  润新知