かいつまんで、特に図参照。
要件として:
ソースコードを変更CheckColumn.js、マウスクリックの変更イベントを追加
JSスクリプトの完全な
1 Ext.ns(' Ext.ux.grid ' )。 2 Ext.ux.grid.CheckColumn = Ext.extend(Ext.grid.Column、{ 3 編集可能:真、 4 のprocessEvent:関数(名前、E、グリッド、rowIndexに、colIndex){ 5 であれば(名前== ' マウスダウン' ){ 6 prj.curGrid = グリッド; 7 この.INIT(名前、E、グリッド、rowIndexに、colIndex); 8 VARのレコード= grid.store.getAt(rowIndexプロパティ); 9 この .fireEvent(' checkchange '、この、record.data [ この.dataIndex])。 10 であれば(この.editable){ 11 レコード。セット(この .dataIndex、record.data [!この.dataIndex]); 12 リターン はfalse ; 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 CLASS = "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 //は後方互換モードの。4.0で削除 34 Ext.grid.CheckColumn = Ext.ux.grid.CheckColumn。 35 36 // 列XTYPEレジスタ 37 Ext.grid.Column.types.checkcolumn = Ext.ux.grid.CheckColumn。
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?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 焦点:機能(RES){ 35 デバッガ。 36の VaRの RES = c_grid.getSelectionModel()getSelections()。 37 であれば(RES [ 0 ] .data.MAT_CERTIFICATE == 偽){ 38 certificateTypeCombo.disable() 39 } 40 他{ 41 certificateTypeCombo.enable()。 42 } 43 } 44 } 45 });