2011-07-18 6 views
0

ExtJs Gridを評価してきました。これまでのところ、とても良いと私はコントロールとAPIが大好きです。私は本番環境でExtJs Gridを配備することについて真の疑念を持っています。ここに行く:ExtJs Gridを大規模プロジェクトに展開するための最良の方法

大規模なプロジェクトにExtJs Gridをどのように配備できますか? 100以上のグリッドを含む巨大なプロジェクトがあるとします。その場合、どのようにこれらのグリッドを処理できますか?

  1. グリッドごとに別々のJavaScriptファイルを維持する必要がありますか?つまり、100グリッドの場合、100個のJSファイルを維持する必要がありますか?
  2. メソッドに渡す引数ごとに、100個のグリッドをすべて作成できるラッパーJSファイルを維持する必要がありますか?

どれが良いですか?または、より良い方法がありますか?誰かがExtJs Gridを大規模プロジェクトに配備する際の情報を公開してもらえますか?

ご協力いただければ幸いです。 ありがとう!

答えて

0

あなたのプロジェクトを説明できますか? 100グリッドまたは100モデル/データストア?

私はモデル/ソース/グリッド列定義でデータベースを作成し、データをjsonでマッピングすることで動的にグリッドを構築します。 AjaxリクエストがあるbeforeRenderリスナーを作成してから、ajaxのsuccessルーチンでモデル/ソース/グリッド定義を作成または設定して... doneを実行すると、これはかなり簡単です。

あなたが...例えば

var areaEast = Ext.create('Ext.Panel', { 
    region: 'east', 
    collapsible: true, 
    split: true, 
    width: 200, 
    title: 'east', 
    items: [ ], 
    layout:'accordion', 
    autoScroll: true, 
    listeners : { 
     beforeRender : function() { 

      Ext.Ajax.request({ 
       url: './js/tabs.pl', 
       disableCaching: false, 
       success: function(response){ 
        var text = Ext.decode(response.responseText); 

        Ext.each(text.rows, function(row, index) { 
         areaEast.add(row); 
        }); 
       }, 
      }); 

     }, 
    }, 
}); 

をこの手法(非グリッド)を見ることができます...そして、次の何のようないくつかのJSONは、オンザフライで[]のext項目のカップルが生成されます...

Content-Type: application/json 

{"rows":[{"html":"str_0.720264353647025","iconCls":"ico_home","title":"tab_1","xtype":"panel"}, 
{"html":"str_0.967244391419577","iconCls":"ico_gear","title":"tab_2","xtype":"panel"}, 
{"html":"str_0.713014552355148","iconCls":"ico_home","title":"tab_3","xtype":"panel"}, 
{"html":"str_0.0254531761575763","iconCls":"ico_gear","title":"tab_4","xtype":"panel"}]} 
+0

返信いただきありがとうございます。私が気にしているのは、各グリッドのテンプレートをサーバーのXML形式で保持することです。これは、GridのPreRenderイベントでAjax経由でクライアント側に引き渡されます。このxmlファイルには、列構造の詳細と追加のdetalsがあればそれがあります。あなたが言ったように、PreRenderのAjaxの成功イベントでは、これらのXMLを解析してグリッドの構造/モデルを作成します。後でXML/JSON形式でデータをロードするためにデータベースにAjax呼び出しを送信します。いいですか?それとももっと良い方法がありますか?ありがとう! – abhilashca

+0

さて、json/xmlは本当にあなたの毒の状況を選びます。私はcgiを持っていて、「報告書」のツリーを示しています。各レポートは、もしあればグリッド、列、データソース、ヘッダー、もしあればグラフの種類、軸の設定などを記述するデータベーステーブルの定義です。これは上記のテクニックを使って説明するようにページを形成するために使用されます。 – hpavc

+0

。 JSON/XMLとPreRenderイベントを試してみましょう。提案ありがとう:)乾杯! – abhilashca

関連する問題