2011-08-02 13:40:22迷鼠
[ExtJS] 取得後端Response的XML內容顯示於前端Grid
//前端-函數:Grid建立
function x2g() {
//定義讀取的欄位對應
var record_array= new Ext.data.Record.create([
{ name: 'obl_no', mapping: 'obl_no' },
{ name: 'obl_text', mapping: 'obl_text'}]);
//取得XMLreader的方法
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({ url: 'xml2g.aspx' }),
reader: new Ext.data.XmlReader({ record: 'row' },record_array)
});
//定義欄位標題及對應資料源
var column_array = [
{ header: '編號', width: 50, dataIndex: 'obl_no' },
{ header: '課程大綱', width: 200, dataIndex: 'obl_text'}];
//建構Grid
var grid_v = new Ext.grid.GridPanel({
store: store,
columns: column_array,
renderTo: 'grid_v',
width: 400,
height: 200
});
store.load();
};
補充:後端xml2g.aspx檔案Response為XML方式
//在SQL語法後端接上語法 for xml path('row')
//可將SQL查詢內容轉換成XML格式並以row標籤標記
//在要回傳的temp變數前端放入XML宣告
string temp = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><recCount>0</recCount>";
while (){
//資料庫取得的資料ToString並丟入temp變數中
};
//在回傳的temp變數結尾放入結尾標籤 </root>
temp += "</root>";
//Response.write之前需加入下列,用以指定ASP輸出為XML文件
Response.ContentType = "text/xml";