研究Ext有一段时间了,对Ext表格的学习心得写出来和大家一起分享。
1.表格的建立
建立表格基本上分3步骤:
(1)数据获取
(2)定义表头,即就是定义表格的列名,宽度,是否可以排序等
(3)绑定数据和表头
表格的一些其他特征也是在这些步骤当中实现的,我们以一个列子来说明表格的建立哈
var com_id;
var com_table_field = new Ext.data.Record.create([{//定义数据的字段
name:"com_id"
},{
name:"com_num"
},{
name:"com_name"
},{
name:"com_pren"
},{
name:"com_tel"
},{
name:"com_memo"
}]);
var com_table_store = new Ext.data.Store({//从后台获取数据
proxy:new Ext.data.HttpProxy({
url:"companytableAction.do"
})
,reader:new Ext.data.JsonReader({
totalProperty:"totalProperty"
,root:"root"
}
,com_table_field
)
});
var com_table_cm = new Ext.grid.ColumnModel([//建立表头,即列的属性
new Ext.grid.RowNumberer()//编号
,new Ext.grid.CheckboxSelectionModel()//可选择框
,{
header:"主键"//列名
,dataIndex:"com_id"//和com_table_field定义的相对应
,width:50//定义了列宽
,disabled:false//不能编辑
,hideable:false //隐藏列下拉框中选择项里面该项的内容
,hidden:true//隐藏列
},{
header:"编号"
,dataIndex:"com_num"
,width:50
,sortable:true
},{
header:"公司名称"
,dataIndex:"com_name"
,width:150
,sortable:true//排序
},{
header:"系统负责人"
,dataIndex:"com_pren"
,width:100
},{
header:"联系电话"
,dataIndex:"com_tel"
,width:100
},{
header:"备注"
,dataIndex:"com_memo"
,width:150
}
]);
var com_grid = new Ext.grid.GridPanel({//数据绑定
ds:com_table_store//数据
,cm:com_table_cm//表头
,width:600//表格的宽度
,height:300//表格的高度
,enableHdMenu:true//列表头的下拉框,true为显示,falsh为不显示
,loadMask:{
msg:"正在加载数据,请稍候..."
}//数据加载时候显示
,trackMouseOver:true//鼠标滑过时的高亮效果
,tbar: new Ext.Toolbar({//表格上方的按钮
items:[{
text:"添加"
},{
text:"修改"
},{
text:"删除所选"
,handler:function(e){
var com_rows = com_grid.getSelectionModel().getSelections();//获取你选择的行
if(com_rows.length==0){
Ext.MessageBox.alert("警告","请选择要删除数据!");
}else{
Ext.MessageBox.confirm("警告","确定删除以选数据?",function(ret){
if(ret=="yes"){
var com_id_del = new Array(com_rows.length);
for(var i=0;i<com_rows.length;i++){
com_id_del[i]=com_rows[i].get("com_id");
}
Ext.get(document.body).mask("请稍候,请求提交中....","x-plain");
var com_id_str = com_id_del;
Ext.Ajax.request({
//Ext.getBody.mask("请稍候,数据提交中....","x-mask-loading");
url:"dcomAction.do?p_com_id="+com_id_str+""//提交要删除数据的主键
,success:function(response, options){
var obj = Ext.util.JSON.decode(response.responseText);
Ext.MessageBox.alert("警告",obj.Mag);
for(var i=0;i<obj.result;i++){
com_table_store.remove(com_rows[i]);
}
Ext.get(document.body).unmask();
}
,failure:function(){
Ext.get(document.body).unmask();
Ext.MessageBox.alert("警告","删除失败");
}
})
}
})
}
}
}]
})
,bbar: new Ext.PagingToolbar({
pageSize:10
,store:com_table_store
,displayInfo:true
,displayMsg:"显示第 {0} 条到 {1} 条记录,一共 {2} 条"
,emptyMsg:"没有数据"
})
});
分享到:
相关推荐
总的来说,"Ext左树有表格 增删改查"是一个常见的UI设计模式,它结合了ExtJS的树形组件和表格组件,提供了灵活的数据展示和操作方式。通过合理配置和事件绑定,可以实现功能丰富的管理界面。在实际项目中,还需要...
在"增删改查"实例中,我们将利用`Ext.grid.Panel`的配置项和事件来实现对表格数据的操作。 1. **创建表格(Create)** 创建数据通常涉及到在表格中添加新行。在Ext JS中,我们可以使用`store`对象的`add()`方法来...
总结来说,EXT2.0.2的表格间数据拖拽涉及到EXT Grid、DataStore、DragDrop和DropTarget的使用,通过这些组件和接口的组合,开发者可以创建出高度交互、功能丰富的Web应用。实现这一功能需要对EXT的API有深入的理解,...
其表格组件(`Ext.grid.GridPanel`)是其最具特色的功能之一,广泛应用于数据展示和管理。 #### 二、代码分析 在本例中,我们首先引入了必要的 ExtJS 相关文件,包括样式表、脚本等资源。 ```html ...
Ext表格代玛
`ext-base.js`是Ext JS的基础文件,包含框架的基本结构和核心功能,如类系统、事件系统和DOM操作。在一些情况下,如果项目对加载速度有较高要求,可以先加载`ext-base.js`,然后再按需加载其他组件,以实现按需加载...
1. **组件化开发**:ExtJS 提供了一套完整的组件模型,包括按钮、表格、表单、树形结构、面板等,使得开发者可以像搭积木一样构建复杂的用户界面。 2. **数据绑定**:框架支持双向数据绑定,这意味着视图层的变化会...
在EXT JS这个强大的JavaScript框架中,开发者经常需要处理各种数据展示和操作,而表格(Grid)是其中常用的一种组件。EXT Grid控件提供了一个灵活且功能丰富的界面来展示和操作数据,而“Ext扩展控件”则进一步增强...
"ext-addons-7.6.0-trial" 是一个与ExtJS库相关的扩展包,它提供了7.6.0版本的附加组件。ExtJS是一个基于JavaScript的富客户端框架,广泛用于构建复杂的、数据驱动的Web应用程序。这个"trial"版可能意味着这是一个...
1. **Ext JS Grid简介**:Ext JS Grid组件提供了一个可配置的表格视图,能够动态地加载和显示大量数据。它由多个部分组成,如Store(存储数据)、Columns(列定义)、Selection Model(选择模型)等。 2. **数据源...
EXT的核心特性包括数据绑定、组件化、布局管理以及丰富的图表和表格组件。 EXT2.0的API文档详细列出了该版本中的所有类、方法、属性和事件,为开发者提供了全面的参考。在深入EXT2.0 API之前,我们需要了解EXT的...
从基本的按钮、文本框到高级的表格、树形控件,Ext提供了丰富多样的UI组件,满足不同应用场景的需求。每个组件都经过精心设计,具备高度可定制性和响应式布局能力,确保在各种设备上都能提供一致且优秀的用户体验。 ...
在EXT JS 3.4.1中,开发者可以找到一系列预定义的可复用组件,如表格、面板、菜单、工具栏、窗口等,这些组件都具有高度定制性,可以根据需求调整外观和行为。 这个压缩文件"ext-3.4.1.zip"很可能包含了EXT JS库的...
这种交互方式在数据管理应用中尤其有用,例如在电子表格或数据库应用程序中,用户可以通过拖放操作轻松地排序和组织数据。 其次,EXT2.2增加了单选按钮组件。在很多情况下,用户需要在一组互斥选项中做出选择,单选...
例如,压缩包中的GridPanel示例展示了EXT.NET如何创建一个动态加载数据的表格。GridPanel可以连接到各种数据源,如ADO.NET、Entity Framework等,实现数据的展示、编辑和操作。同时,GridPanel还支持行选择、列隐藏...
在创建EXT-React应用时,首先需要创建基本的React组件结构,然后导入EXT-React组件,接着配置Webpack和Babel以处理EXT-React相关的依赖。最后,启动开发服务器,进行实时编码和调试。 7. **最佳实践** - 使用EXT-...
EXT的表格组件(Ext.grid.Panel)支持行级别的编辑,结合行选择器和表单组件,可以方便地实现增删改查操作。表单组件(Ext.form.Panel)用于收集用户输入,并能与数据模型关联,实现数据的双向绑定。 在这个例子中...
在压缩包"ext-5.1.0-gpl.zip"中,"ext-5.1.0"目录包含了EXTJS 5.1.0的所有源码和资源文件,包括JavaScript库、CSS样式、图像资源以及示例代码等。开发者可以通过解压并引入这些文件,结合自身的项目需求进行集成和...
通过这个CHM文件,开发者不仅可以学习到EXT-GWT的基本用法,还可以探索高级特性和最佳实践,从而提升开发效率和应用质量。在遇到问题时,文档的全文检索功能更是能帮助开发者迅速定位解决方案,提升开发效率。
"ext-base.js"是EXT框架的基石,它包含了EXT的基本类和核心功能。这个文件主要包括以下几个方面的内容: 1. **基础对象**:EXT中的所有对象都继承自Ext.Base,这个基类定义了EXT对象的基本行为,如事件处理、属性...