ExtJs代码:
/*--数据存诸器--*/
Ext.define('Cate', {
extend: 'Ext.data.Model',
fields: ['cate_1', 'cate_2', 'cate_3']
});
var cate_store = new Ext.data.Store({
model: 'Cate',
autoLoad:false,
pageSize:4,
remoteSort:true,
proxy: {
type: 'ajax',
url : 'cates.aspx',
reader: {
type: 'json',
root: 'cates',
totalProperty:'total'
},
simpleSortMode: true
}
});
/*--分页工具栏--*/
var bbar = new Ext.PagingToolbar({
store : cate_store,
displayInfo : true,
displayMsg : '第 {0} 条到 {1} 条, 一共 {2} 条',
emptyMsg : "没有记录",
beforePageText : '页码',
afterPageText : '总页数 {0}',
firstText : '首页',
prevText : '上一页',
nextText : '下一页',
lastText : '末页',
refreshText : '刷新'
});
/*--数据列表--*/
var cate_grid=Ext.create('Ext.grid.Panel',{
store:cate_store,
id:'cate_grid',
border:false,
//loadMask:new Ext.LoadMask(this,{msg:'fsdfsfds'}).show(),
columns:[
new Ext.grid.RowNumberer({header:'编号',width:35,align:'center'}),
{header:'顶级分类',dataIndex:'cate_1'},
{header:'二级分类',dataIndex:'cate_2'},
{header:'三级分类',dataIndex:'cate_3'}
],
bbar:bbar
});
/*--数据存储器加载数据--*/
cate_store.load();
cates.aspx代码:
<%@ page Language="C#"%>
<%@ Import Namespace="System.Xml"%>
<script runat=server language="C#">
/*--页面载入--*/
protected void Page_Load (Object sender ,EventArgs e)
{
int start=int.Parse(Request.QueryString["start"]+"");
int limit=int.Parse(Request.QueryString["limit"]+"");
String sort=Request.QueryString["sort"]+"";
String dir=Request.QueryString["start"]+"";
ReadXml(start,limit,sort,dir);
}
/*--读取XML文件转化为json数据--*/
public void ReadXml(int start,int limit,String sort,String dir)
{
String xml="cates.xml";
XmlDocument doc = new XmlDocument();
doc.Load(MapPath(xml));
XmlNode rootNode = doc.SelectSingleNode("cates");
int len=rootNode.ChildNodes.Count;
String[] cate1=new String[len];
String[] cate2=new String[len];
String[] cate3=new String[len];
//每一列存到数组中
XmlNodeList xnl = rootNode.ChildNodes;
int i=0;
foreach (XmlNode xnf in xnl)
{
XmlElement xe = (XmlElement)xnf;
XmlNodeList xnf1 = xe.ChildNodes;
foreach (XmlNode xn2 in xnf1)
{
switch(xn2.Name)
{
case "cate_1":
cate1[i]=xn2.InnerText;
break;
case "cate_2":
cate2[i]=xn2.InnerText;
break;
case "cate_3":
cate3[i]=xn2.InnerText;
break;
}
}
i++;
}
String jsonStr="{'total':"+len+",'cates':[";
for(int c=start;c<((start+limit)>len?len:(start+limit));c++)
jsonStr+="{'cate_1':'"+cate1[c]+"','cate_2':'"+cate2[c]+"','cate_3':'"+cate3[c]+"'},";
jsonStr=jsonStr.Substring(0,jsonStr.Length-1);
jsonStr+="]}";
Response.Write(jsonStr);
}
/*--写入XML文件--*/
public void WriteXml()
{
String xml="users.xml";
XmlDocument doc = new XmlDocument();
doc.Load(MapPath(xml));
XmlNode users = doc.SelectSingleNode("users");
XmlElement user = doc.CreateElement("user");
XmlElement name = doc.CreateElement("name");
name.InnerText="haosan";
XmlElement sex = doc.CreateElement("sex");
sex.InnerText="男";
XmlElement age = doc.CreateElement("age");
age.InnerText="100";
user.AppendChild(name);
user.AppendChild(sex);
user.AppendChild(age);
users.AppendChild(user);
doc.Save(MapPath(xml));
}
</script>
cates.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<cates>
<cate>
<cate_1>生活用品1</cate_1>
<cate_2>家用电器</cate_2>
<cate_3>电视机</cate_3>
</cate>
<cate>
<cate_1>生活用品2</cate_1>
<cate_2>家用电器</cate_2>
<cate_3>电冰箱</cate_3>
</cate>
</cates>