ExtJS4.2学习(11)——高级组件之Grid

本文详细介绍了ExtJS4.2中Grid组件的搭建、MVC架构重构以及各种特性,包括列模式、选择模式、Grid特性如行体、摘要和分组,还涉及可编辑插件、表格拖拽和分页组件的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大纲:

1.首先,搭建起来一个最基础的Grid组件;

2.其次,利用前边MVC架构将代码重构;

3.再者,介绍下Grid的一些特性。

一、搭建基础的Grid组件

在文章的开始,我们首先简单的搭建一个Grid项目,感受下Grid的样子和其吸引众人的魅力所在。

架构如图:


代码分别如下,注释写的比较清楚,按照以上搭建可以正常运行:

grid.html代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>EXTJS4.0</title>
<link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css" />
<script type="text/javascript" src="../extjs/bootstrap.js"></script>
<script type="text/javascript" src="../extjs/locale/ext-lang-zh_CN.js"></script>
<script type="text/javascript" src="mode.js"></script>
<script type="text/javascript" src="01gridDemo.js"></script>
</head>
<body>
<div id="gridDemo"></div>
</body>
</html>

gridDemo.js代码如下:

(function(){
	Ext.onReady(function(){
		//初始化
		Ext.QuickTips.init();//类似于title,用于显示ext:qtip设定的值
		//创建表格时候要 用表格的面板
		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列名,表头信息
				{text:"age",dataIndex:'age',width:100},//dataIndex从store/model中找到相应的记录
				{text:"email",dataIndex:'email',width:350,
					//重构列模式
					field:{
						xtype:'textfield',//编辑方式
						allowBlank:false//
					}
				}
			],
			tbar :[
				{xtype:'button',text:'添加',iconCls:'table_add'},//这个地方iconCls是一些图标组件,大家可以自行添加
				{xtype:'button',text:'删除',iconCls:'table_remove',
					handler:function(o){
						//var gird = o.findParentByType("gridpanel");
						var gird = o.ownerCt.ownerCt;//ownerCt是拥有这个组件的组件
						var data = gird.getSelectionModel().getSelection();
						//getSelectionModel得到Ext.selection.Model对象,得到选择模式
						//Ext.selection.Model中有getSelection方法得到选中对象的数组
						if(data.length == 0){
							Ext.Msg.alert("提示","您最少要选择一条数据");
						}else{
							//1.先得到ID的数据(name)
							var st = gird.getStore();//得到store
							var ids = [];
							Ext.Array.each(data,function(record){
								ids.push(record.get('name'));
							})
							//2.后台操作(delete)
							Ext.Ajax.request({
								url:'/extjs/extjs!deleteData.action',
								params:{ids:ids.join(",")},
								method:'POST',
								timeout:2000,//延迟显示
								success:function(response,opts){
									Ext.Array.each(data,function(record){
										st.remove(record);
									})
								}
							})
							//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 4.0用的是 插件的形式来和form表单配合使用的
		
### 使用JMeter连接数据库的教程 #### 准备工作 为了使JMeter能够成功连接到目标数据库,首先需要准备相应的驱动程序。对于不同的数据库管理系统(DBMS),所需的驱动会有所不同。例如,在尝试连接达梦数据库时,应当获取适用于该特定类型的Java Database Connectivity (JDBC) 驱动文件[^1]。 一旦获得了正确的`.jar`格式的驱动包之后,需将其放置于JMeter安装路径下的`/lib`子目录内以便加载使用[^2]。 #### 创建测试计划 启动JMeter后,创建一个新的测试计划作为整个项目的容器。这一步骤为后续添加更多组件提供了基础结构框架[^3]。 #### JDBC Connection Configuration设置 在测试计划之下新增一个名为“JDBC Connection Configuration”的元件来定义与目标数据库之间的连接参数: - **Variable Name**: 定义变量名用于存储本次建立起来的数据源对象实例。 - **Database URL**: 输入符合标准URL模式的目标数据库地址字符串;针对不同种类的数据库会有差异化的书写方式,请参照官方文档确认具体的格式。 - **Username / Password**: 提供具有适当权限访问指定表单或视图的有效用户名及其密码组合。 - **JDBC Driver class**: 填入对应版本号的全限定类名称,通常可以在所使用的JDBC驱动手册里找到确切的信息。 ```properties # Example configuration for a hypothetical database connection variableName=TestDSN databaseUrl=jdbc:dream:localhost:5236/testdb?serverEncoding=UTF8 username=testuser password=testpass jdbcDriverClass=com.dameng.jdbc.Driver ``` 此部分配置决定了能否顺利建立起同目的端口间的通信链路并执行SQL语句。 #### 添加JDBC Request Sampler 继续向测试树中追加至少一个“JDBC Request”取样器节点,用来描述实际要发送给服务器的具体命令文本以及期望接收回来的结果集形式。这里可以根据业务逻辑需求编写简单的SELECT查询亦或是复杂的事务处理脚本。 ```sql -- An example SQL statement that retrieves all records from the 'employees' table. SELECT * FROM employees; ``` 通过上述几个环节的操作即可完成基本形态上的搭建过程,接下来便能运行测试方案观察预期效果了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值