简介:这篇文章将告诉你如何使用Ext中的Grid,Form,Dialog来实现列表,创建,更新,删除,查找和分页功能
转载自:http://www.blogjava.net/puras/archive/2007/09/10/144047.html
参考:
http://extjs.com/learn/Tutorial:Using_Ext_grid_form_dialog_to_achieve_paging_list,_create,_edit,_delete_function
作者:puras
签于现在网上多数的Form的例子都多数是描述前台UI的,而没有对与服务端通讯的部分,故参考EXTJS的一个指南,写下此文,希望能对大家有所帮助.
在WEB应用中,大部分的页面都可以被分为:列表,创建,读取,更新,删除.在Ext的文档中心提供了一个非常好的例子,一个行内编辑的表格.然而,在现实中,行内编辑的表格是远远不够的,还需要用不同的方式来展示表单.下面的例子中向你展示如何在表格中创建/更新一个对话框表单.
列表功能
首先是是一个权限列表页,它包含分页,查询/过滤功能,创建和删除功能.
先定义数据源:
this.ds = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({ url : '/wit/data.shtml' }), //'/wit/data.shtml' 一个读取数据列表的Action
reader : new Ext.data.JsonReader({ //使用JSON传输入数据
root : 'roleList',
totalProperty : 'totalCount',
id : 'id'
},
// 定义字段映射
[
{
name : 'id',
mapping : 'id',
type : 'string'
},
{
name : 'name',
mapping : 'name',
type : 'string'
},
{
name : 'description',
mapping : 'description',
type : 'string'
},
{
name : 'createDate',
mapping : 'createDate',
type : 'string'
},
{
name : 'updateDate',
mapping : 'updateDate',
type : 'string'
}
]),
remoteSort : true
});
this.ds.load({ params:{ start : 0, limit : 20 } });
指定数据的来源位置,解析的方式,以及字段的映射.
接下来是表格中表头的定义,匹配上面的字段:
this.cm = new Ext.grid.ColumnModel([
{
header : '#',
dataIndex : 'id',
width : 30,
sortable : 1
},
{
header : '名称',
dataIndex : 'name',
width : 140,
sortable : 1
},
{
header : '描述',
dataIndex : 'description',
width : 140,
sortable : 1
},
{
header : '创建日期',
dataIndex : 'createDate',
width : 150,
sortable : 1
},
{
header : '修改日期',
dataIndex : 'updateDate',
width : 150,
sortable : 1
}
]);
再定义一下Grid:
this.grid = new Ext.grid.Grid('htmlGridPanel', {
ds : Grid.ds,
cm : Grid.cm,
enableColLock : false,
autoSizeColumns : true,
loadMask : true
});
this.grid.render();
现在,就可以看到简单的表格了.功能还有待完善.
接下来,在表格的头部面板处,添加过滤/查询的下拉菜单:
this.gridHead = this.grid.getView().getHeaderPanel(true);
this.toolbar = new Ext.Toolbar(this.gridHead);
this.filterBtn = new Ext.Toolbar.MenuButton({
icon : '../images/class.gif',
cls : 'x-btn-text-icon',
text : '选择过滤器',
tooltip : '选择一个过滤器',
menu : { items : [
new Ext.menu.CheckItem({ text : '编号', value : 'id', checked : true, group : 'filter', checkHandler : this.onItemCheck}),
new Ext.menu.CheckItem({ text : '名称', value : 'name', checked : false, group : 'filter', checkHandler : this.onItemCheck}),
new Ext.menu.CheckItem({ text : '描述', value : 'description', checked : false, group : 'filter', checkHandler : this.onItemCheck})
]},
minWidth : 105
});
this.toolbar.add(this.filterBtn);
this.filter = Ext.get(this.toolbar.addDom({
tag : 'input',
type : 'text',
size : '30',
value : '',
style : 'background : #F0F0F9;'
}).el);
this.filter.on('keypress', function(e) {
if (e.getKey() == e.ENTER && this.getValue().length > 0) {
Grid.ds.load({ params : { start : 0, limit : 20 }});
}
});
在表格的底部面板添加分页,添加,删除按钮:
this.gridFoot = this.grid.getView().getFooterPanel(true);
this.paging = new Ext.PagingToolbar(this.gridFoot, this.ds, {
pageSize : 20,
displayInfo : true,
displayMsg : '共有 {2} 条记录.当前显示 {0} - {1}条记录.',
emptyMsg : '没有记录!'
分享到:
相关推荐
本文将详细介绍如何使用Ext的Grid、Form和Dialog组件来实现分页列表、创建、修改和删除功能。 1. **Ext Grid组件**:Grid是Ext的核心组件之一,用于展示数据列表。它可以轻松地实现数据的分页、排序、过滤等功能。...
在Android开发中,Dialog...总的来说,Android Dialog是与用户交互的重要工具,理解并熟练使用各种Dialog可以帮助提升应用的用户体验。通过系统提供的Dialog和自定义Dialog,开发者可以根据应用场景选择最适合的方案。
自定义Dialog可以通过继承`AlertDialog.Builder`或直接使用`DialogFragment`来创建。 2. **DialogFragment**: `DialogFragment`是Android支持库中的一个组件,它负责显示一个对话框。相比直接使用`AlertDialog`,...
本文将详细介绍如何使用纯 JavaScript 来创建一个功能完备的 Dialog 模块,以及涉及到的相关知识点。 首先,`lhgdialog` 文件可能是实现 Dialog 的核心库,而 `lhgcore.js` 可能是该库的基础组件或核心功能模块。这...
它的CRUD(Create、Read、Update、Delete)实现是指使用EasyUI来完成数据的创建、读取、更新和删除功能,这些是任何数据管理应用的基础操作。在这里,我们将深入探讨如何使用EasyUI和Java来实现这一目标。 首先,让...
在IT行业中,`Ext.ux.Upload.Dialog`是一个用于Ext JS框架的第三方组件,它扩展了标准的对话框(Dialog)功能,提供了文件上传的能力。这个组件通常被用于Web应用程序,以便用户可以方便地向服务器上传文件。下面...
在标题“使用Dialog实现从页面顶部弹出类似搜索的对话框”中,我们要探讨的是如何创建一个从屏幕顶部滑出的对话框,模拟常见的搜索功能。这种效果在许多应用程序中都能看到,它提供了简洁且不中断用户体验的方式来...
本文将详细介绍如何使用自定义Dialog来实现这样的功能,特别针对初次使用APP的用户,通过半透明蒙版高亮目标并配以说明文字或图片,提升用户体验。 首先,我们要明白Dialog在Android中的角色。Dialog是一种轻量级的...
在本项目中,使用了`LIMIT`语句来实现分页查询。在Spring Boot中,这通常通过在MyBatis的Mapper接口中定义一个方法,接收页码和每页大小作为参数,然后在对应的Mapper XML文件中编写SQL查询,利用`LIMIT`和`OFFSET`...
dialog弹框上实现下拉列表功能,有二级关联菜单选项功能ExpandableListViewDemo-master 通过设置属性,可实现只显示一个Group的子菜单 , 显示全部Group的子菜单 。需要自己设置就可以了。
通过`Ext.grid.GridPanel`创建表格,设置`store`来绑定数据,利用`columns`定义列配置。此外,还可以实现行选择、行编辑、行拖放等功能,提升用户体验。 2. 表单(Form):EXT3.0的表单组件允许开发者创建复杂的...
然而,有时候我们可能希望自定义Spinner的展现形式,比如使用Button来触发一个Dialog来显示Spinner的选择项。这篇博客“android 用Button+dialog实现spinner”正是探讨了如何结合Button和Dialog来实现这样的功能。 ...
你可以通过设置`.ui-widget`、`.ui-dialog`等类来改变对话框的整体外观,或者使用`.ui-dialog-titlebar`、`.ui-dialog-content`等类来调整特定部分的样式。如果需要全局改变所有对话框的样式,可以使用自定义主题...
本教程将详细介绍如何在Android中自定义Dialog以实现一个登录框。 首先,理解Dialog的基础概念。Dialog是Android系统提供的一个类,它可以在当前Activity之上显示一个半透明的窗口,用于向用户展示额外的信息或进行...
在Android应用开发中,...综上所述,"仿QQ列表可折叠+自定义Dialog结合"是Android开发中的一个重要实践,它涉及到了数据绑定、用户交互、动画效果以及性能优化等多个方面,开发者需要综合运用多种技术来实现这一功能。
2. **使用Ext的Grid, Form, Dialog来实现分页列表、创建、修改、删除功能**: - Grid:展示数据,支持分页、排序、选择行等操作。 - Form:用于数据输入和编辑,可以包含各种表单字段,如文本框、复选框、下拉框等...
在Android中,可以使用 Animation 和 ViewPropertyAnimator API 来实现各种动画效果。Animation类提供了一系列的动画类型,如旋转( RotateAnimation ),可以定义一个对象在一段时间内的起始和结束角度,实现旋转...
当需要在Dialog中实现TabHost的效果时,我们可以结合使用Dialog和ViewPager来达到目的。下面我们将详细探讨如何实现这个功能。 首先,我们要理解Dialog的基本用法。Dialog是Android中的一个对话框类,它可以包含...
本篇将详细介绍如何封装`DialogFragment`来创建一个通用的、可复用的`Dialog`组件,以及如何实现底部弹框和分享弹框。 首先,我们需要创建一个新的`DialogFragment`子类,例如`NiceDialog`。这个类应该包含以下核心...