EXT 를 사용 하여 무 리 셋 동적 호출 주식 정보 실현

솔직히 말 해서 저 는 아직 Ext 기술 에 익숙 하지 않 아서 쓴 코드 도 이상 하 다 고 생각 합 니 다.뭔 가 잘못된 점 이 있 으 면 가르쳐 주 십시오.사용 하 는 Ext 버 전 은 ext-2.2 이 며,다운로드 주 소 는:http://www.extjs.com/products/extjs/download.phpExt JS 2.2 SDK 를 다운로드 하고,압축 을 풀 고 resources 폴 더 를 작업 디 렉 터 리 로 복사 합 니 다.resources 폴 더 에 jscript 폴 더 를 새로 만 들 고 ext 루트 디 렉 터 리 에 ext-all.js 파일 및 adapter\ext\ext-base.js 파일 을 jscript 폴 더 에 복사 하 며 stock.js 파일 을 새로 만 듭 니 다.코드 는 다음 과 같 습 니 다.

function ajaxRequest(){
Ext.Ajax.request({
url: 'http://hq.sinajs.cn/list=sh000001,sh601939,sh600016,sh600528,sh600667,sh601390,sh601398,sh601857,sh600028,',
success: function(response){
var stocks = response.responseText.split(';');
var length = stocks.length - 2;
var dataset = new Array(length);
for(var i=0; i<length; i++){
var content = stocks[i];
var temp1 = content.split('=')[0];
var temp2 = content.split('=')[1];
var code = temp1.substr(temp1.length - 6, 6);
var temp3 = temp2.replace('"', '');
var name = temp3.split(',')[0];
var tday_f = temp3.split(',')[1];
var yest_f = temp3.split(',')[2];
var curr_f = temp3.split(',')[3];
var temp_f = curr_f - yest_f;
var data_i = new Array(9);
data_i[0] = code;
data_i[1] = name;
data_i[2] = curr_f;
data_i[3] = tday_f;
data_i[4] = yest_f;
data_i[5] = temp_f.toFixed(2);
data_i[6] = ((temp_f / yest_f) * 100).toFixed(2);
data_i[7] = temp3.split(',')[4];
data_i[8] = temp3.split(',')[5];
dataset[i] = data_i;
}
var store = new Ext.data.SimpleStore({
fields: [
{name: 'a1'},
{name: 'a2'},
{name: 'a3'},
{name: 'a4'},
{name: 'a5'},
{name: 'a6'},
{name: 'a7'},
{name: 'a8'},
{name: 'a9'}
]
});
//store.loadData(dataset);
var grid = new Ext.grid.GridPanel({
//renderTo: document.body,
store: store,
columns: [
{header: " ", width: 100, sortable: true, dataIndex: 'a1', id:'a1'},
{header: " ", width: 100, sortable: true, dataIndex: 'a2'},
{header: " ", width: 100, sortable: true, dataIndex: 'a3'},
{header: " ", width: 100, sortable: true, dataIndex: 'a4'},
{header: " ", width: 100, sortable: true, dataIndex: 'a5'},
{header: " ", width: 100, sortable: true, dataIndex: 'a6', renderer: change},
{header: " ", width: 100, sortable: true, dataIndex: 'a7', renderer: change},
{header: " ", width: 100, sortable: true, dataIndex: 'a8'},
{header: " ", width: 100, sortable: true, dataIndex: 'a9'}
],
stripeRows: true,
autoExpandColumn: 'a1',
height:240,
width:740,
title:' '
});
if(document.getElementById("stockgrid").innerHTML == ""){
grid.render('stockgrid');
grid.getSelectionModel().selectFirstRow();
}
grid.store.loadData(dataset);
}
});
}
function change(val){
if(val < 0){
return '<span style="color:green;">' + val + '</span>';
}else if(val > 0){
return '<span style="color:red;">' + val + '</span>';
}
return val;
}
Ext.onReady(function(){
// http://extjs.com/s.gif
Ext.BLANK_IMAGE_URL = "resources/images/default/s.gif";
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
ajaxRequest();
window.setInterval("ajaxRequest()",3000);
});
작업 디 렉 터 리 에 stock.html 파일 을 새로 만 듭 니 다.코드 는 다음 과 같 습 니 다. 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title> </title>
<link rel="stylesheet" type="text/css" href="resources/css/ext-all.css" />
<script type="text/javascript" src="resources/jscript/ext-base.js"></script>
<script type="text/javascript" src="resources/jscript/ext-all.js"></script>
<script type="text/javascript" src="resources/jscript/stock.js"></script>
</head>
<body>
<div id="stockgrid"></div>
</body>
</html>
여기 서 볼 수 있 듯 이 Ext 기술 을 사용 하여 동적 페이지 는 페이지 표현 층 에서 데이터 취득 까지 모두 Ext 에 의 해 처리 된다.

좋은 웹페이지 즐겨찾기