隨筆-26  評論-44  文章-20  trackbacks-0
          只要是component都可以用plugins
          plugin必須含有init方法

          使用插件:
          var checkColumn = new Ext.grid.CheckColumn({//生成一個
                 header: "Indoor?",
                 dataIndex: 'indoor',
                 width: 55
              });
          new Ext.grid.EditorGridPanel({
                  store: store,
                  cm: cm,
                  renderTo: 'editor-grid',
                  width:600,
                  height:300,
                  autoExpandColumn:'common',
                  title:'Edit Plants?',
                  frame:true,
                  plugins:checkColumn,//**********列舉要使用的插件
                  clicksToEdit:1});

           var cm = new Ext.grid.ColumnModel([{
                     id:'common',
                     header: "Common Name",
                     dataIndex: 'common',
                     width: 220,
                     editor: new fm.TextField({
                         allowBlank: false
                     })
                  },
                  checkColumn//使用插件
              ]);


          自定義插件(即自定義一個包含init()方法 的類),這里是定義一個和CheckBox類似的東西,有很多處我沒看懂
          Ext.grid.CheckColumn = function(config){
              Ext.apply(this, config);
              if(!this.id){
                  this.id = Ext.id();
              }
              this.renderer = this.renderer.createDelegate(this);
          };

          Ext.grid.CheckColumn.prototype ={
              init : function(grid){
                  this.grid = grid;
                  this.grid.on('render', function(){
                      var view = this.grid.getView();
                      view.mainBody.on('mousedown', this.onMouseDown, this);
                  }, this);
              },

              onMouseDown : function(e, t){
                  if(t.className && t.className.indexOf('x-grid3-cc-'+this.id) != -1){
                      e.stopEvent();
                      var index = this.grid.getView().findRowIndex(t);
                      var record = this.grid.store.getAt(index);
                      record.set(this.dataIndex, !record.data[this.dataIndex]);
                  }
              },

              renderer : function(v, p, record){
                  p.css += ' x-grid3-check-col-td';
                  return '<div class="x-grid3-check-col'+(v?'-on':'')+' x-grid3-cc-'+this.id+'"> </div>';
              }


          posted on 2008-07-11 16:37 開機 閱讀(1434) 評論(0)  編輯  收藏 所屬分類: js

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 武宁县| 池州市| 宜春市| 繁峙县| 荆州市| 临安市| 咸宁市| 保山市| 平武县| 常德市| 广昌县| 方正县| 营口市| 牟定县| 郴州市| 繁昌县| 嘉义市| 天峨县| 滨海县| 尉犁县| 武平县| 疏附县| 通化县| 连平县| 奎屯市| 海伦市| 祁阳县| 永州市| 宣化县| 侯马市| 江山市| 涡阳县| 蕲春县| 凤凰县| 商丘市| 焦作市| 嘉荫县| 山西省| 类乌齐县| 库车县| 玉溪市|