길고도 짧은 이야기, 특히도 참조하십시오.
요구 사항 :
소스 코드를 수정 CheckColumn.js, 마우스 클릭 변경 이벤트를 추가
JS 스크립트 전체를
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 Ext.ns ( ' Ext.ux.grid ' ); 2 Ext.ux.grid.CheckColumn = 들을 Ext.extend (Ext.grid.Column { 3 편집 : 사실 , 4 의 processEvent : 함수 (이름, 즉, 그리드 rowIndex에, colIndex) { 도 5 의 경우 (이름 == ' mousedown ' ) { 6 prj.curGrid = 그리드; 7 이 .init (이름, 즉, 그리드 rowIndex에, colIndex) 8 VAR의 기록 = grid.store.getAt (rowIndex에) (9) 이 .fireEvent ( ' checkchange ', 이 , record.data [ 이 .dataIndex]); 10 의 경우 ( 이 .editable) { 11 레코드. 세트 ( 이 ! .dataIndex, record.data [ 이 .dataIndex]); (12) 돌아 거짓 ; 13 } 다른 { 14 반환 Ext.grid.ActionColumn.superclass.processEvent.apply ( 이 인자); 15 } 16 } 다른 { 17 반환Ext.grid.ActionColumn.superclass.processEvent.apply ( 이 , 인자); 18 } 19 } 20 렌더러 : 함수 (V, P, 레코드) { 21 p.css + = ' X-grid3 체크-COL-TD를 ' ; 22 창 및 String.format ( " <div 클래스 ="X-grid3 체크-COL {0} "> & # 160; </ div> ' , V? ' -ON ' : ' ' ); 23 } 24 INIT : Ext.emptyFn, 25 setEditable : 함수 (F) { 26 이 .editable = F; 27 } 28 }); (29) (30) //은 p- 형을 등록합니다. 비추천. 4.0에서 제거 31 Ext.preg ( ' checkcolumn ' , Ext.ux.grid.CheckColumn); (32) (33) // 거꾸로 compat 시스템. 4.0 제거 34 Ext.grid.CheckColumn = Ext.ux.grid.CheckColumn; 35 36 // 열 위해 xtype 등록 37 Ext.grid.Column.types.checkcolumn = Ext.ux.grid.CheckColumn;
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 { 2 헤더 : " 证书" , dataIndex : " MAT_CERTIFICATE " , ID : ' MAT_CERTIFICATE ' , 폭 : 90 , 정렬 : ' 중심 ' , 위해 xtype : " checkcolumn " 청취자 { 3 checkchange : 함수 (열 선택을 ) { 도 4 의 경우 ( 체크 ) { 5 certificateTypeCombo.disable (); 6 }또 { 7 certificateTypeCombo.enable (); 8 } 9 } 10 } 11 } 12 {헤더 : " 证书类型" , dataIndex : " MAT_CERTIFICATE_TYPE " , 폭 : 120 , 정렬 : " 중앙 " , 편집자 : certificateTypeCombo, 렌더러 : LCE_TYPE.toValue}을 13 ----- -------------------------------------------------- ----- (14) var에 LCE_TYPE = 새Ext.data.RSStore ({ 15 URL : " STL001.csx 태그 GetLceType =? " , 16 개 필드 : " MSID_N " , " MSVALUE " ], 17 루트 : " 데이터 " , 18 ID : " MSID_N " , 19 AUTOLOAD : 사실 , 20 toValue : 함수 (V) { 21 VAR의 REC = LCE_TYPE.getById (V) 22 리턴 촬영? rec.data.MSVALUE : V; 23 } 24 }); 25 26 VAR의 certificateTypeCombo = 새로운 Ext.form.SComboBox ({ 27 가기 : LCE_TYPE, 28 displayField : ' MSVALUE ' , 29 valueField : ' MSID_N ' , 30 모드 : ' 로컬 ' , 31 비활성화 : 사실 , 32 triggerAction : ' 모든 ' , 33 청취자 { 34 함수 {(해상도) : 초점 35 디버거; 36 VAR의 입술 = c_grid.getSelectionModel () getSelections ().; 37 의 경우 (입술 [ 0 ] == .data.MAT_CERTIFICATE 거짓 ) { 38 certificateTypeCombo.disable () (39) } (40) 또 { 41 certificateTypeCombo.enable (); 42 } 43 } 44 } 45 });