ext詳細復習



まとめ転載他人の~みんなは真剣にEXTの細部を勉強して見ることができます
 
  1.extイベントはext.libにカプセル化する.Eventの下.前の階にはext.EventObjectがあり、ext.libをカプセル化し続けています.Event.一般的な関数のfunction(e)は、ext.EventObjectオブジェクトです.またext.EventObjectには、マウスとキーボードのいくつかの操作がカプセル化されています.
  
   2.element.on('click',fn,this,{single:true,delay:100,testId}).ここでsingleは初めてを表し,delay遅延,testIdはfn()に伝達されるパラメータである.fn(e(ext.EventObject),el,args)ではargs.testIdは入力された値を得る.
   3.呼び出しイベントはobjectでもよい.fireEvent('fn');そしてExt.util.Observable.Capture(object,function()は、オブジェクトのイベントにブロッキングを設定できます.
  
4、イベントをカプセル化するのは、ブラウザのイベントに1つのハンドルしかないためです.elementsに2つのイベントを定義すると、上書きされます.
   5.Layout:'fit'は、内部pannelを外部に自動的に埋め込むことができます.さもないとまた何も表示されません.
5.1システムが提供するautoHeightとautoWidth属性を慎む.
   6.gridは、各カラムの幅を自動的に並べ替えることができます.viewConfig{forceFit:true}.
 
   7.grid.getSelectionModel().getSelections().選択したデータが得られ、動作単位で配列として返されます.
   8.gridの左のページで送るいくつかのパラメータに注意して、ソースコードを表示することに注意して、sotreを覚えています.loadの順番.
   9.ext.each(array,fn()は配列を巡回することができ、fn()が入力するパラメータは[現在の配列項目][現在のインデックス][配列array]である.
  
   10.e.preventDefault()ブラウザのデフォルトのマウスの右クリックイベントを削除します.
   11.フォームの提出後、バックグラウンドレッスンはrequestに従います.getparameter('fieldname')は、対応する要素の値を取得します.strutsとのマッピングの差は多くありません.
   12.formのバックグラウンドチェックでは、json文字列が返されます.クライアントは、例えば{success:false,errors:{text 1:'text 1 wrong',text 2:'text 2 wrong'}}を解析することができ、text 1とtext 2はフォーム内の要素に対応する.クライアントはsuccessとfailureコールバック関数を設定して結果を処理できます.
  
13,comboxがバックグラウンドに提出したデータはtextであり,hiddenNameで対応するvalueを得ることができる.
   14.formフォームでは、formを使用できます.getForm().load({url:'servlet|jsp'})は、対応するフォームのデータを取得しますが、formでreader:JsonReaderを定義します.フォームデータの埋め込みはname属性で決めるべきですが、試したことはありません.
   13.store.load()は伝参できます.次の形式でload({params:{id:'value',name:'name'}}).このid、バックグラウンドはrequestと同じです.getParameters('id')が得られます.
   14.ダイアログボックスにコールバック関数があります.Ext.MessageBox.show({config}).
   15.'fit'のlayoutにはitemsは1つのサブコンポーネントしか入れられず、複数入れても1つ目しか表示されません.またaotuHeightプロパティページはfitと一緒に使用できません.
   16.'border'レイアウトでは、東西南北の5つのregionに分けられ、centerは自動的にサイズを計算します.一方、'south','north'は高さしか設定できません.'west','east'は幅しか設定できません.
17、1ページに1つのviewportしかありません.
  
18,'border'のレイアウトでは,'north'の高さはパーセンテージでは使えないので,毎回パーセンテージが表示されないのがおかしいと思います.
19,jsonデータの{totalProperty:'name',rootName:[]}の一般的なフォーマット
20 grid選択列データの小例を得る
               

               xtype: 'grid', 
                ds: ds, 
                cm: colModel, 
                sm: new Ext.grid.RowSelectionModel({ 
                    singleSelect: true, 
                    listeners: { 
                        rowselect: function(sm, row, rec) { 
                            Ext.getCmp("company-form").getForm().loadRecord(rec); 
                        } 
                    } 

21,ajaxRequestのsuccessとfailureはリクエスト転送の失敗と成功を示し,バックグラウンドの処理結果を示さない.formのコミット関数のsuccess何failureはバックグラウンドの処理結果と関連している.バックグラウンドのデータ転送方式はresponse.getWriter.write(「{success:true,info:'success info'}」)またはresponse.getWriter.write("{success:false,error:'failure info'}").
22,apply(a,b)を用いて,b中の属性をaにコピーする.bの元の属性が上書きされます.applyIf()では上書きされません.
   23.レコードの変更はrecordを使用します.set('name',newvalue).次に、変更をcommitまたはrejectで選択できます.
   24.pagingtoolbarを使用した後、gridのstoreはgridの初期化後にloadしなければならない.それ以外の場合、ページングツールバーは機能しません.ページングツールバーの数の合計エントリはjsonのtotalPropertyプロパティから来ており、ページングツールバーではメモリ内のデータをページングできないため、ページサイズのデータのみを最初に取得します.