ExtJs中一个完整GridPanel实例

ws_hgo 2010-08-26 09:48:21
博客地址http://blog.csdn.net/ws_hgo/archive/2010/08/26/5839449.aspx

最后效果如图:


    <script type="text/javascript">
Ext.onReady(function(){
//初始化Extjs
Ext.QuickTips.init();
//从本地加载图片,如果不定义默认从Exj官方网站加载
Ext.BLANK_IMAGE_URL ='./resources/images/default/s.gif';
//首先读取数据,Json格式
var store = new Ext.data.Store
({
//读取数据源用json方法(三种方法1.读取json用JsonReader,2读取数组使用ArrayReader3.读取XML用XmlReader)
reader:new Ext.data.JsonReader
({
root:"Table",
//从数据库中读取的总记录数
totalProperty: 'totalCount',
//要读取出来的字段
fields:
[
'ID','RoleName','Remark'
]
}),
//获取数据源(该方法返回一个json格式的数据源)
proxy: new Ext.data.HttpProxy
({
url: '../../BackGround/RoleManage/Role.ashx?AutoLoad=true'
})
});
//定义GridPanel的列名称
var cms=new Ext.grid.ColumnModel
(
[
new Ext.grid.RowNumberer({header:"编号",width:30,align:"center"}),//添加一个编号
new Ext.grid.CheckboxSelectionModel(),//增加 CheckBox多选框列
//header列名称,dateIndex对应数据库字段名称,sortable支持排序
{header:"角色名称",dataIndex:"RoleName",sortable:true},
{header:"角色备注",dataIndex:"Remark",sortable:true}

]
);
//编辑panel,用于添加,修改
var Edit_Panel=new Ext.FormPanel({
labelWidth: 75,
labelAlign:'right',
frame:true,
bodyStyle:'padding:5px 5px 0',
width: 380,
defaults: {width: 150},
defaultType: 'textfield',
items:
[
{
fieldLabel: '角色编号',
name: 'ID',
xtype:'hidden'
},
{
//label名称
fieldLabel: '角色名称',
//textfield名称
name: 'RoleName',
//textfield正则
allowBlank:false,//是否允许为空!false不允许
blankText:"不允许为空",//提示信息
minLength :2 ,
minLengthText : "姓名最少2个字符",
maxLength : 4 ,
maxLengthText :"姓名至多4个字符",
regex:/[\u4e00-\u9fa5]/,//正则表达式
regexText:"只能为中文"
},
{
fieldLabel: '角色编码',
name: 'RoleCode',
allowBlank:false,
blankText:"不允许为空",
xtype:'hidden'
},
{
fieldLabel: '说明',
name: 'Remark'

}
]

});
//弹出层
var Edit_Window = new Ext.Window({
collapsible: true,
maximizable: true,
minWidth: 300,
height :180 ,
minHeight: 200,
width:378,
modal:true,
closeAction:"hide",
//所谓布局就是指容器组件中子元素的分布,排列组合方式
layout: 'form',//layout布局方式为form
plain: true,
title:'编辑对话框',
bodyStyle: 'padding:5px;',
buttonAlign: 'center',
items: Edit_Panel,
buttons: [{
text: '保存',
//点击保存按钮后触发事件
handler:function(){
//得到编辑模板中id为ID的控件名称的值
var ID=Edit_Panel.getForm().findField('ID').getValue();
//得到编辑模板中id为RoleName的控件名称的值
var RoleName=Edit_Panel.getForm().findField('RoleName').getValue();
//var RoleCode=Edit_Panel.getForm().findField('RoleCode').getValue();
var Remark=Edit_Panel.getForm().findField('Remark').getValue();
var jsonData='';
if(ID=='')
//如果ID为空的话说明是添加操作,否则是修改操作,将ID,角色名称(RoleName),角色编码(RoleCode),说明(Remark),操作类型(添加操作:AddUser,更新操作:UpdateUser)写成json的形式作为参数传到后台
jsonData= {operatype:'AddRole',ID:ID,RoleName:RoleName,Remark:Remark};
else
jsonData= {operatype:'UpdateRole',ID:ID,RoleName:RoleName,Remark:Remark};
Edit_Window.hide();
CodeOperaMethod('../../WebUI/RoleManage/RoleManege.aspx',jsonData);
//重新加载store信息
store.reload();
grid.store.reload();
}
},{
text: '重置', handler:function(){Edit_Panel.getForm().reset();}
}]
});


</script>


如果对你有用请点击对我有用
谢谢
...全文
7567 50 打赏 收藏 转发到动态 举报
写回复
用AI写文章
50 条回复
切换为时间正序
请发表友善的回复…
发表回复
PotentialStock 2013-03-14
  • 打赏
  • 举报
回复
后来者追上,顶起
ccf929580047 2013-03-12
  • 打赏
  • 举报
回复
顶…… 挺好的,学习了……
dong_19890208 2012-08-29
  • 打赏
  • 举报
回复
后台Struts的代码能不能也贴出来呀?
蜻蜓出没 2012-07-09
  • 打赏
  • 举报
回复
不错不错!非常感谢
忆赋 2012-05-07
  • 打赏
  • 举报
回复
你能告诉我怎么把表头的复选框给弄掉么
jilu1229 2012-03-30
  • 打赏
  • 举报
回复
解决了,谢谢
Willa-王 2012-01-05
  • 打赏
  • 举报
回复
很好,基本上很全了。。。谢谢分享。。
Accp_NEW 2011-11-12
  • 打赏
  • 举报
回复
求QQ 可以及时请教extjs
开发者孙小聪 2011-11-08
  • 打赏
  • 举报
回复
求后台操作数据库源代码
wangshan_ws 2011-08-18
  • 打赏
  • 举报
回复
很好的帖子,正好遇到这个问题了。呵呵。
caishaolang 2011-08-12
  • 打赏
  • 举报
回复
汗 都是强人 我这种刚学ext的小白 连看都看不怎么懂
才才 2011-08-02
  • 打赏
  • 举报
回复
数据格式是怎么样的啊,没说啊,整个dome 上传一下行不???
  • 打赏
  • 举报
回复
说的很详细,很好
gr_Gong 2011-07-20
  • 打赏
  • 举报
回复
怎么得到GridPanel的GridCommand
liuah2008 2011-06-24
  • 打赏
  • 举报
回复
谢谢,学习中。
zenggezhuang 2010-12-24
  • 打赏
  • 举报
回复
有没有后台的一些代码呢?
zenggezhuang 2010-12-24
  • 打赏
  • 举报
回复
现在我想前台页面使用extjs grid,后台为grid指定数据源,怎么实现呢?有好的代码吗?
hytwl 2010-09-13
  • 打赏
  • 举报
回复
不错,就是有点麻烦。
shadow841112 2010-09-08
  • 打赏
  • 举报
回复
恩,很不错。一直也用ext,只是由于ext的效率的确是个问题,所以仅仅用ext的viewport做页面框架,不再使用更多的控件了。
还有ext从2.0.2后更改了开源协议也是一个很大的打击。
sophiasy 2010-09-01
  • 打赏
  • 举报
回复
顶,不错,学习了
加载更多回复(26)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧