我有一个.log文件。我在EXT JS中创建了一个网格示例来显示来自json文件的日志数据(模拟数据)。现在我想显示.log文件中的网格数据。最好的方法是什么?可以将.log文件转换为.json文件(通过解析或说somw如何)或者有更好/明智的方法来做同样的事情吗?
答案 0 :(得分: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/
祝你好运。