海水正藍(lán)

          面朝大海,春暖花開
          posts - 145, comments - 29, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          [轉(zhuǎn)]Ext GridPanel根據(jù)條件顯示復(fù)選框

          Posted on 2013-05-06 15:34 小胡子 閱讀(340) 評論(0)  編輯  收藏 所屬分類: Ext
          Ext GridPanel實現(xiàn)復(fù)選框選擇框:

          1 var selectModel = new Ext.grid.CheckboxSelectionModel({
          2     singleSelect : false
          3 });
          4 

           但是這樣每一行都會有復(fù)選框,如果需求為:某行數(shù)據(jù)的某個列滿足什么條件我才有復(fù)選框選項就不太好實現(xiàn)了,

          這樣就需要重寫Ext.grid.CheckboxSelectionModel的渲染,行點擊涵數(shù)來實現(xiàn).

           1 var selectModel = new Ext.grid.CheckboxSelectionModel({
           2       singleSelect : false,
           3       renderer : function(v, p, record){
           4           if (record.data['結(jié)果狀態(tài)'] == '0'){
           5                return '';
           6           }
           7           return '<div class="x-grid3-row-checker">&#160;</div>';
           8       },
           9       onHdMouseDown : function(e, t) {
          10           if (t.className == 'x-grid3-hd-checker') {
          11                e.stopEvent();
          12                var hd = Ext.fly(t.parentNode);
          13                var isChecked = hd.hasClass('x-grid3-hd-checker-on');
          14                if (isChecked){
          15                   hd.removeClass('x-grid3-hd-checker-on');
          16                   this.clearSelections();
          17               }else {
          18                   hd.addClass('x-grid3-hd-checker-on');
          19                   if (this.locked){
          20                       return;
          21                   }
          22                   this.selections.clear();
          23                   for (var i = 0, len = this.grid.store.getCount(); i < len; i++ ){
          24                       if (this.grid.store.getAt(i).data["結(jié)果狀態(tài)"!= '0'){
          25                            this.selectRow(i, true);
          26                       }
          27                  }
          28               }
          29          }
          30       },
          31       handleMouseDown : function(g, rowIndex, e){
          32             if (e.button !== 0 || this.isLocked()) {
          33                    return;
          34             }
          35             var view = this.grid.getView();
          36             if (e.shiftKey && !this.singleSelect && this.last != false ) {
          37                  var last = this.last;
          38                  this.selectRange(last, rowIndex, e.ctrlKey);
          39                  this.last = last;
          40                  view.focusRow(rowIndex);
          41             }else{
          42                  var isSelected = this.isSelected(rowIndex);
          43                  if (e.ctrlKey && isSelected) {
          44                       this.deselectRow(rowIndex);
          45                  }else if(!isSelected || this.getCount() > 1){
          46                       if(this.grid.store.getAt(rowIndex).data["結(jié)果狀態(tài)"!= '0'){
          47                           this.selectRow(rowIndex, e.ctrlKey || e.shiftKey);
          48                       }
          49                       view.focusRow(rowIndex);
          50                  }
          51             }
          52       }
          53 });
          原文:
          http://fordream.iteye.com/blog/1179252



          主站蜘蛛池模板: 固始县| 鞍山市| 灌云县| 公主岭市| 沂南县| 乐陵市| 武川县| 称多县| 河曲县| 舒城县| 古浪县| 罗江县| 米脂县| 山西省| 建湖县| 沂水县| 政和县| 上犹县| 东丰县| 阜宁县| 临海市| 耒阳市| 长葛市| 屏山县| 潼南县| 肇庆市| 景德镇市| 静乐县| 景洪市| 开化县| 泸西县| 仙居县| 银川市| 河南省| 阜平县| 穆棱市| 资阳市| 且末县| 宁河县| 宜兴市| 兴山县|