EXT GridPanel XML操作
来源:互联网 发布:史蒂芬斯数据库 编辑:程序博客网 时间:2024/05/17 23:21
/*
由于项目里需要EXT,所以查了下资料写了个demo,希望此文对大家使用GridPanel有所帮助,EXT版本3.0,
1. 解析XML报文 2. ajax 分页,3,checkbox, 4,右键菜单,4 增/删/改
author: 清风漫步
XML格式如下
<?xml version=/"1.0/" encoding=/"ISO-8859-1/">
<dataset>
<results>16</results>
<row><id>1</id><name>Bill</name><occupation>Gardener</occupation></row>
<row><id>2</id><name>Bill</name><occupation>Gardener</occupation></row>
<row><id>3</id><name>Bill</name><occupation>Gardener</occupation></row>
<row><id>4</id><name>Ben</name><occupation>Horticulturalist</occupation></row>
</dataset>
*/
function createXml(str){
if(document.all)
{
var xmlDom=new ActiveXObject("Microsoft.XMLDOM")
xmlDom.loadXML(str)
return xmlDom
}
else
return new DOMParser().parseFromString(str, "text/xml")
}
function url()
{
$.ajax({
type: "POST",
dataType: "xml",
url: "test2.aspx?id=1",
data: "name=John&location=Boston",
error: function(){
alert('Error loading XML document');
},
success: function(domxml){
datadisplay(domxml);
}
});
}
Ext.onReady(function(){
datadisplay(); //ext ajax 调用
//url(); jquery ajax 调用
});
function datadisplay(xmldoc)
{
// create the Data Store
var store = new Ext.data.Store({
// load using HTTP
proxy: new Ext.data.HttpProxy({url:'test2.aspx'}),
// the return will be XML, so lets set up a reader
reader: new Ext.data.XmlReader({
totalRecords: "results",
record: 'row',
id: "id"
}, [
{name:'id'},
{name: 'name', mapping: 'name' , type : 'string'}, // "mapping" property not needed if it is the same as "name"
{name: 'occupation'} // This field will use "occupation" as the mapping.
])
});
var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),//自动行号
sm,
{header:'编号',dataIndex:'id'},
{header:'性别',dataIndex:'sex'},
{header:'名称',dataIndex:'name'},
{header:'描述',dataIndex:'occupation'}
]);
cm.defaultSortable = true;
var grid = new Ext.grid.GridPanel({
store: store,
// columns: [
// {header: "id", width: 120, dataIndex: 'id', sortable: true},
// {header: "name", width: 180, dataIndex: 'name', sortable: true},
// {header: "occupation", width: 115, dataIndex: 'occupation', sortable: true}
// ],
sm: sm,//没有时checkbox功能不起作用
cm:cm,
renderTo:'example-grid',
width:540,
height:300,
buttons:[{
text:'新建',
tooltip:'新建一个Reader',
iconCls:'add',
enableToggle: true,
toggleHandler: addReader
},
{text:'编辑',
tooltip:'编辑一个Reader',
iconCls:'edit',
enableToggle: true,
toggleHandler: editReader
},
{text:'删除',
tooltip:'删除一个Reader',
iconCls:'delete',
enableToggle: true,
toggleHandler: deleteReader
}],
bbar: new Ext.PagingToolbar({
pageSize: 4,
store: store,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
}),
tbar: new Ext.PagingToolbar({
pageSize: 4,
store: store,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
})
});
// store.getTotalCount(); totalRecords 取值
// cm.getColumnCount(); 列数
// store.getCount());行数
store.load();
grid.addListener('cellclick', cellclick);
function cellclick(grid, rowIndex, columnIndex, e)
{
var record = grid.getStore().getAt(rowIndex); //Get the Record
var fieldName = grid.getColumnModel().getDataIndex(columnIndex); //Get field name
var data = record.get(fieldName);
Ext.MessageBox.alert('show','当前选中的数据是'+data);
}
grid.addListener('rowcontextmenu', rightClickFn);//right menu
var rightClick = new Ext.menu.Menu({
id:'rightClickCont',
items: [
{
id: 'rMenu1',
handler: rMenu1Fn,//event
text: 'menu1'
},
{
//id: 'rMenu2',
//handler: rMenu2Fn,
text: 'menu2'
}
]
});
function rightClickFn(grid,rowindex,e){
e.preventDefault();
rightClick.showAt(e.getXY());
}
function rMenu1Fn(){
Ext.MessageBox.alert('right','rightClick');
}
function addReader()
{
//
}
function editReader()
{
//
}
function deleteReader()
{
selectValue();
}
function saveReader()
{
//
}
function selectValue()
{
var rows=grid.getSelectionModel().getSelections();
if(rows.length==0)
{
Ext.MessageBox.alert('警告', '最少需要选择一条记录!');
}
var str="";
for(var i=0;i <rows.length;i++)
str = str + rows[i].get('id') + ',';
}
}
- EXT GridPanel XML操作
- Ext之GridPanel操作
- Ext JS GridPanel + WebService + 返回xml数据 + 批量删除
- EXT.NET GridPanel绑定XML里的数据
- EXT JS Grid checkbox GridPanel 中的批量操作
- EXT JS Grid checkbox GridPanel 中的批量操作
- EXT 对GridPanel行、列多读写操作
- ext gridpanel中操作按钮隐藏和不能点击
- Ext, GridPanel加载完数据后进行操作
- Ext.Window+Ext.grid.GridPanel
- Ext GridPanel基本表格
- Ext 之 GridPanel
- Ext.grid.GridPanel
- Ext:GridPanel 显示数据
- Ext.grid.GridPanel
- Ext gridPanel 打印
- ext gridPanel 自适应高度
- 扩展Ext.grid.GridPanel
- 如何在Mobile平台建立GPRS连接进行SOCKET通信
- return n和exit(int n)小结
- 动态生成aspx文件
- 特殊的线性表——栈(进制转换例)
- 100句经典2
- EXT GridPanel XML操作
- 常用AT指令
- 查询数据库中所有用户表的使用情况
- java面试题及答案(基础题122道,代码题19道)【转】
- 关于最近公司领导要求加班事宜
- Java 调用其他开发语言开发的动态链接库文件(一)
- Office 2010分享之一 --文档历史列表应用技巧
- 字符集
- 仿真器的作用