2016-05-10 7 views
0

私は.logファイルを持っています。 jsonファイル(モックデータ)からログデータを表示するためにEXT JSで1つのグリッドの例を作成しました。今私は、.logファイルからグリッドデータを表示したい。それを行う最善の方法は何でしょうか? .logファイルを.jsonファイルに変換することができます(解析するか、somw howと言うことができます)か、同じように優れた方法がありますか?EXT js Gridを.logデータファイルで表示するには?

+0

ログファイルはどのように見えますか? –

+0

標準log4jログファイル....タブベース.. say、 aa bb cc dd ee ff gg bb kk bb vv xx ii aa 。 。 。 。 – souro

答えて

0

私はあなたのデータをAjaxリクエストによって異なる方法で取得する必要があると思います。

// Should work also in newer ExtJS versions 
Ext.create('Ext.grid.Panel', { 
    renderTo: Ext.getBody(), 
    width: 640, 
    height: 480, 
    store: new Ext.data.ArrayStore({ 
    fields: ['id', 'val1', 'val2'], 
    data: [] 
    }), 
    columns: [{ 
    dataIndex: 'id', 
    text: 'Id' 
    }, { 
    dataIndex: 'val1', 
    text: 'Value #1' 
    }, { 
    dataIndex: 'val2', 
    text: 'Value #2' 
    }], 
    listeners: { 
    afterrender: function(grid) { 
     // Do an Ajax request 
     Ext.Ajax.request({ 
     url: 'data1.log', 
     // Will go here, because there is no such file... 
     // When you provide a file it will be success and you can handle failure differently 
     failure: function(response) { 
      // responseText will be response.responseText on success 
      // this here is only a mock 
      var responseText = "id1\tval1a\tval1b\nid2\tval2a\tval2b\nid3\tval3a\tval3b", 
      data = []; 

      // Split your data on new lines and iterate 
      Ext.each(responseText.split('\n'), function (record) { 
      // Create an empty array 
      var item = []; 
      // Split your new line-split on tab and iterate 
      Ext.each(record.split('\t'), function (recordItem) { 
       // push to your new data item 
       item.push(recordItem); 
      }); 
      // push to your data 
      data.push(item); 
      }); 
      // load the store 
      grid.store.loadRawData(data); 
     } 
     }); 
    } 
    } 
}); 

私はjsfiddleに例を提供する:http://jsfiddle.net/4Lx818ua/

幸運を。

関連する問題