Ext.Net中CheckboxSelectionModel的动态隐藏(显示),一定条件下的隐藏(不让选择),获得多选栏位的信息,及后台控件的动态创建...

(1) Ext.Net 中CheckboxSelectionModel在一定的条件下隐藏特定的row

<head id="Head1" runat="server">
    <title></title>
    <script  type="text/javascript">
           var MyCheckBox = function (v, p, record) {                //固定格式,不变
            if (record.data.SPECVER <4) {     //红色的字体为栏位名称(type= int)
                return "";
            }

            return '<div class="x-grid3-row-checker">';      //固定格式,不变
        };
    </script>   
</head>

并在下面的代码添加CustomConfig,Listeners属性  :

         <SelectionModel>
                <ext:CheckboxSelectionModel ID="CheckboxSelectionModel1"   runat="server">   //生成CheckBox
                    <CustomConfig>          
                          <ext:ConfigItem Name="renderer" Value="MyCheckBox" Mode="Raw" />        //javascript Function 名称
                     </CustomConfig>
                     <Listeners>
                           <BeforeRowSelect Handler="return record.data.SPECVER>=4;" />         //栏位名称,需要变动
                     </Listeners>
                </ext:CheckboxSelectionModel>                                                           
          </SelectionModel>

 

(2 )Ext.Net 中动态的隐藏(Hidden属性)CheckBox  (CheckboxSelectionModel ):

               

protected void btnQueryHistory_Click(object sender, Ext.Net.DirectEventArgs e)

{

       GridPanel. ColumnModel.SetHidden(0,true);          //(红色的)为GridPanel 名称   ,(绿色的)为要隐藏的栏位

}

 (3)Ext.Net中获得被多选中的row :

        1.))集中批次处理:

              RowSelectionModel lv_RowSelected = this.gpControlInfo.SelectionModel.Primary as RowSelectionModel;
              if (lv_RowSelected.SelectedRows.Count > 0)

             {

                     string sysIDS = "";
                     foreach (SelectedRow row in sm.SelectedRows)
                    {
                          sysIDS += row.RecordID + ";";              //RecordID的设置
                    }

              }
              lv_RowSelected.ClearSelections();     //需要清空所有,否则,下次没有选中任何的时候,SelectedRows.Count 还是为上次的值

           RecordID的设置,在Store的代码中添加(红色的部分):

          <ext:Store ID="stoControlInfo" runat="server" GroupDir="ASC">
                <Reader>               
                    <ext:JsonReader IDProperty ="FORMSYSID">            //  为RecordID的值,根据需要相应的更改           
                    </ext:JsonReader>                
                </Reader>
                <AutoLoadParams>
                    <ext:Parameter Name="start" Mode="Raw" Value="0">
                    </ext:Parameter>
                    <ext:Parameter Name="limit" Mode="Raw" Value="15">
                    </ext:Parameter>
                </AutoLoadParams>
         </ext:Store>

     2.))  单个的处理:

         <ext:Button 
                  ID="" 
                  runat="" 
                  Text="" 
                  Icon=""                                                    
                  X ="" 
                  Y ="" >

                 <DirectEvents> 
                        <Click OnEvent="btnActivateForm_Click">                 //后台Button事件 
                              <ExtraParams>     //添加如下代码,gpControlInfo为GridPanel的ID
                                    <ext:Parameter Name="Values" Value="Ext.encode(#{gpControlInfo}.getRowsValues({selectedOnly:true}))" Mode="Raw" />
                              </ExtraParams>  
                         </Click>                                     
                  </DirectEvents>
        </ext:Button>

       后台的处理:

          string json = e.ExtraParams["Values"];

          Dictionary<string, string>[] lv_Row = JSON.Deserialize<Dictionary<string, string>[]>(v_Json);
            foreach (Dictionary<string, string> row in lv_Row)
            {
                foreach (KeyValuePair<string, string> keyvaluePaire in row)
                {

                    //可以取得所有的栏位及栏位值,

                   //也可以取得想要的(相对应的)
                    if (keyvaluePaire.Key == "SPECNO")
                    {
                        pv_StrSpecNO = keyvaluePaire.Value;
                    }
                    else if (keyvaluePaire.Key == "SPECVER")
                    {
                        pv_StrSpecVer = keyvaluePaire.Value;
                    }
                }

            }

(4)Ext.Net后台动态实现GridPanel栏位的添加:

            this.stoControlInfo.AddField(new RecordField("SYSID", RecordFieldType.String));
            this.stoControlInfo.AddField(new RecordField("FORMID", RecordFieldType.String));
           

            this.gpControlInfo.ColumnModel.Columns.Add(new Column { Header = "SYSID_Show", DataIndex = "SYSID", Width = 10 });
            this.gpControlInfo.ColumnModel.Columns.Add(new Column { Header = "FORMID_Show", DataIndex = "FORMID", Width = 130 });

 

        DataIndex必须和RecordField的相同(如红色的),要不然有栏位显示,但是下面没有数据的哦!

 

 

    注:以上经过测试是正确的,请根据自己的需要做出变通,不对的地方或者是还有好的方法请告知,不胜感激!

    另外:(1)一个好的Ext.Net基础学习网站是:www.Ext.Net,有各控件的实例实现

              (2)相关知识查找可以在官网(www.Ext.Net)中的右上角的"Search“框中进行查找,比在Baidu能查到更多的相关技术及实现!查找的是英文版的哦!

转载于:https://www.cnblogs.com/alexzp/archive/2011/12/23/2298890.html

extjs tree checkbox 复框实现 取值 显示 原来做EXTTREE的复其实很简单!数据:[{id:'55',text:'节点11',leaf:false,checked:true}checked属性就是控制复框是否出现,true出现复框  false 不出现。获取tree的中值方法:var nodes = tree.getChecked();当点击父级节点同时中子节点方法:需要添加“checkchange”事件。"checkchange": function(node, state) {                        if ( 阅读详情

相关推荐

Extjs6.2实现分组全 利用标题添加checkbox

自己研究许久未果,后来在领导的帮助下在google搜索下找到示例。现在extjs已经不再流行,网上面的例子都已经不再适用。 贴网址:https://fiddle.sencha.com/fiddle/19rr?height=600 效果如图: 原文的代码有几个bug,第一是不能使用grouping的startCollapsed属性。因为原来的TPL渲染的视图会在再次渲染的过程中破坏...

Mr_JGuo的博客 1303

net 页面中使用ext设置 gridpanel 隐藏

ext gridpanel 隐藏列 GridPanel_1.ColumnModel.SetHidden(1, true);

秦秋雨的专栏 491

Extjs在ColumnModel下使用CheckboxSelectionModel,失效,只能单

最近开始使用Extjs进行开发, 会遇到一些各种各样的问题, 在此希望记录下来, 给和我一样新入手人一点提示.问题: 在ColumnModel下添加复框, 添加完成之后, 此复框只能单, 没办法同时.前期代码如下:this.colModel = new Ext.grid.ColumnModel({             columns : [this.rowNum       ...

aqudgv83的博客 1828

Extjs4---Checkbox,,全

为了方便对条数据进行修改,,全功能是不可少的,本文是在我发表的Extjs4---grid添加搜索功能上进行修改的 html代码: 同Extjs4---grid添加搜索功能上的html代码 只需修改引用即可 gridCheck.js代码: [javascript] view plaincopy //下面两

u011203602的专栏 1012

ExtJs中checkboxgroup复框组件的显示问题

checkboxgroup复框组件容器,当时用属性   allowBlank:false  必须至少选择一项,否则给出提示 blankText ,出现如下问题: 如果一个没有选择的时候,给出提示,但是布局会变化Ext.onReady(function(){  Ext.QuickTips.init();  var panel=new Ext.form.Panel({   title:'

afei3418的专栏 6006

extjs学习之Ext.selection.CheckboxModel

Ext.onReady( function() { var store=Ext.create('Ext.data.Store', { storeId:'simpsonsStore', fields:['id','name','description','action'], data:[{ "id":'1', "name" : "节目一", "description" : "lisa@

晨港飞燕的专栏 1万+

CheckboxSelectionModel

1.CheckboxSelectionModel简写sm 2.实现sm是否显示后台传入的json对象包含selected属性{root:[ {id:'1',code:'1001',name:'老李',sex:'1',age:'23',selected:false}, {id:'2',code:'1002',name:'懒蛋',sex:'1',age:'25',selected:true}]}要...

zyp_java的博客 1018

【解决方案】Ext.grid.CheckboxSelectionModel 实现锁住指定行不被

效果图1: 注:如图,要对 sm 为CheckboxSelectionModel 类型的 grid 实现指定行锁住而不被中,锁住的条件由该行的某一字段的数据决定,图中根据“状态”决定改行能否被中。 实现方法(js中对这个 grid 的 sm 属性做配置): sm:new Ext.grid.CheckboxSelectionModel({ ...

weixin_30606669的博客 635

有关GridPanel中的CheckboxSelectionModel(Extjs)

看到前人写的代码有不爽之处,不过改起来还真不知道从何下手,研究了一阵子,总算是搞定了。。。 我解决的问题是:在gridpanel左侧有一列checkbox,gridpanel右侧有一个图片区,每一行对应一个不同的图片。前人想偷懒,在有选择的时候,右侧只显示最上面一行的图片。。显然不太给力啊。。。。而且还有效率问题,当点击gridpanel标题行的全checkbox时,右侧的信息会不停地变啊...

编程语言小筑 307

关于CheckboxSelectionModel回显和初始化默认

直接贴代码 如下: 直接贴代码 如下: Ext.onReady(function() { //添加复框 var sm = new Ext.grid.CheckboxSelectionModel({ //为true单,false singleSelect : false }); var cm = new Ext.grid.Colu...

qq_52692884的博客 767

Ext.grid.CheckboxSelectionModel

1.CheckboxSelectionModel简写sm 2.实现sm是否显示 后台传入的json对象包含selected属性 {root:[ {id:'1',code:'1001',name:'老李',sex:'1',age:'23',selected:false}, {id:'2',code:'1002',name:'懒蛋',sex:'1',age:'25',selected:t

itlwc 1万+

ExtCheckboxSelectionModel默认

说明:勾某几条记录后,翻页再翻回来,保持原来的中状态。 原理:在勾或取消勾的时候用recordIds保存或删除勾中的Record的主键id值,   每次store加载(load事件)完后,遍历store,比较每条Record的主键列id是否在recordIds中,   若存在则将Record保存到临时变量records中,最后调用selMod.selectRecords(records...

fireinjava的专栏 374

CheckboxSelectionModel 几种获取值的方式,以及record数据通过combo来转换

var _drivStore = new Ext.data.ArrayStore({     id: 0,     fields: ['id','text'],     data: [[1,'张三'],[2,'李四']]     });        var _frmcombo = new Ext.form.ComboBox( {      id :this.genId("frmco

边走边爱的专栏 3495

EXTJS - CheckboxSelectionModel selectAll事件处理

需要处理checkbox的selectAll事件.CheckboxSelectionModel里提供了selectAll的方法, 一旦, 你用了这个方法, 默认不会帮你全所有的item, 你需要在这里面, 使用selectRange,给定最大被数目, 将全部数据. var fieldSelectModel = new Ext.grid.CheckboxSelectionModel...

aqudgv83的博客 862

Extjs 让grid的CheckboxSelectionModel显示

grid的selType:'checkboxmodel'时,一般如下 但是为了某些情况下,不可,不显示框 var sm=Ext.create("Ext.selection.CheckboxModel",{ mode:'MULTI', checkOnly:true, renderer:function(value,metaData,record,rowI

jazywoo_在路上 3903

Extjs6.2 隐藏checkboxmodel的HeaderCheckbox

原来的: 实现效果: 第一种方法(推荐) 在Ext.grid.Panle 的selModel配置。 selModel: Ext.create('Ext.selection.CheckboxModel', { mode : "SIMPLE", //SIMPLE SINGLE 单 showHeaderCheckbox: false, //是否显示头复...

weixin_44288659的博客 803

Ext.net SelectionModel RowSelection

<SelectionModel> <ext:RowSelectionModel ID="RowSelectionModel1308" runat="server" Visible="False"> <Listeners> <SelectionChange Handler="RowChange();" /&gt...

zhaogaojian的专栏 144

Ext.net常见问题收集

转载至:http://www.cnblogs.com/goga21cn/archive/2011/07/23/2114842.html 本文对Ext.NET使用中的常见问题进行收集,有新问题或补充的请在下方留言,内容随之持续更新,谢谢。需要大家的共同努力。 Ext.Net官方Demo Ext.Net官方API Ext.Net社区版源码下载 ExtJS官方站点包括Demo和API

我不是猪猪的专栏 1215
上一篇: html5客户端本地存储之sessionStorage及storage事件
下一篇: 与师弟们的相处之道
weixin_30512089
博客等级 码龄11年 104粉丝 1343原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值