Extd第一个gridPanel小程序
来源:互联网 发布:上海黄金交易所交易软件 编辑:程序博客网 时间:2024/05/29 08:23
这个小程序中包含了很多的参数配置和一些细节问题:仔细看看方便以后浏览熟悉一下语法
mode.js
//User类Ext.define("user",{ //基本上定义一个类用的是define,定义一个对象用create实现的extend:"Ext.data.Model", //这个类基本上是都是继承Ext.data.Model的,含有一个fields,可以理解为数据库中的表fields:[{name:'name',type:'string',sortable:true},{name:'age',type:'int',sortable:true},{name:'email',type:'string',sortable:true}]});//User对象var user = Ext.create("user",{}); //声明一个对象Ext.create("Ext.data.Store",{ //这个对象是一个Ext.data.Store,实际上是用来存储数据的model:'user', //一般情况下是一个代理,数据从后台取storeId:'s_user',proxy:{type:'ajax',url:'/extjs/extjs!getUserList.action',reader:{type:'json',root:'topics'},writer:{type:'json'}},autoLoad:true});
结合:01gridDemo.js
(function(){Ext.onReady(function(){Ext.QuickTips.init();//穿件表格时候要 用表格的面板var grid = Ext.create("Ext.grid.Panel",{title : 'Grid Demo',//标题frame : true,//面板渲染//forceFit : true,//自动填充panel空白处width : 600,height: 280,columns : [ //列模式{text:"Name",dataIndex:'name',width:100},{text:"age",dataIndex:'age',width:100},{text:"email",dataIndex:'email',width:350,field:{ //设置一个列模式,这样才能结合后边内容,让该列可编辑xtype:'textfield',allowBlank:false //一个验证的选项}}],tbar :[{xtype:'button',text:'添加',iconCls:'table_add'},{xtype:'button',text:'删除',iconCls:'table_remove',handler:function(o){//var gird = o.findParentByType("gridpanel");var gird = o.ownerCt.ownerCt; //得到父级元素的父级元素【button的父级元素是toolbar,toolbar的父级元素师gridpanel】var data = gird.getSelectionModel().getSelection();if(data.length == 0){Ext.Msg.alert("提示","您最少要选择一条数据");}else{//1.先得到所有ID的数据(name)var st = gird.getStore();var ids = [];Ext.Array.each(data,function(record){ids.push(record.get('name'));})//2.后台操作(delet)Ext.Ajax.request({url:'/extjs/extjs!deleteData.action',params:{ids:ids.join(",")},//利用ajax将id传递到后台, //这里的join()函数也要注意,将Array变成字符串串起来method:'POST',timeout:2000,success:function(response,opts){Ext.Array.each(data,function(record){st.remove(record); //Ext.data.Store里面有个remove()方法,删除数据})}})//3.前端操作DOM进行删除(ExtJs)}} },{xtype:'button',text:'修改',iconCls:'table_edit'},{xtype:'button',text:'查看',iconCls:'table_comm'}],dockedItems :[{xtype:'pagingtoolbar',store:Ext.data.StoreManager.lookup('s_user'),dock:'bottom', //设置放置的位置displayInfo:true}],plugins:[ //以插件的形式实现一些功能Ext.create("Ext.grid.plugin.CellEditing",{ //可编辑的插件clicksToEdit : 1 //单击多少下才能可编辑})],selType:'checkboxmodel',//设定选择模式 默认的是单选multiSelect:true,//运行多选renderTo :'gridDemo',store : Ext.data.StoreManager.lookup('s_user')});});})();
分析帮助理解一下:
首先看看User.js
1)有一个User类,它是一个Model,有一个fields参数:实际上市数据库中表的意思。
2)有一个User对象,它是一个Store,用来存储数据的,但是这个store数据时从哪里来的呢?store必须基于proxy,然后type:ajax url:'/extjs/extjs!getUserList.action',,在后台通过JSON格式取出数据,Reader,将取出来的数据写到Model中;最后通过writer以JSON的格式格式响应到前台。
注意:这里指定了 model:'user', 指定是基于哪个:Model,
storeId:'s_user',让前台可以通过:01gridDemo.js中的store : Ext.data.StoreManager.lookup('s_user')绑定这个数据。
关于01gridDemo.js中的参数,代码中写得非常清楚了,仔细研读。
0 0
- Extd第一个gridPanel小程序
- 第一个小程序
- 第一个小程序
- WindowsWorkFlow第一个小程序
- 第一个ajax小程序
- 第一个OpenGLES小程序
- 第一个J2ME小程序
- 第一个python小程序
- 1->第一个小程序
- c++第一个小程序
- Android第一个小程序
- 第一个AJAX小程序
- 第一个java小程序
- 第一个php小程序
- 第一个Python小程序
- 第一个Python小程序
- 第一个python 小程序
- 第一个servlet小程序
- LeetCode:Word Break
- Thinkphp框架的PATHINFO模式详解
- Struts拦截器的一些知识点
- 【源码分享下载】每日更新之高仿京东商城
- RT3070 imx28 SoftAP功能移植。
- Extd第一个gridPanel小程序
- win7 64位 下 jlink 刷固件 经验
- ZOJ3811 - Untrusted Patrol(并查集 或者 bfs dfs)
- ASCII与UNICODE的区别
- iOS-打开照相机&打开本地相册&图片上传
- maven 配置Oracle 驱动问题
- 【开发必读】PHP session详解
- 使用 Node.js 和 Socket.IO 实现 Django 的实时处理
- 致刚就业迷茫的你和寄语大学毕业生--技术读者