EXTJS知识经验总结

1、防止用户在提交时进行其他操作

点击提交按钮,弹出对话框,覆盖面板,等待后台反馈信息时再取消覆盖效果

 

function progress(){

      el = grid.getEl();      

      el.mask("数据正在提交中……");    
}

 

 

 

a)  };

b) 提交按钮处调用此函数;

c) 反馈信息处调用此行代码即可:el.unmask();   

 

2、在ExtJS分页,另添加参数传递到后台

 

//store
var _storeSalesPkgClass = new Ext.data.Store({
  id:"_storeSalesPkgClass",  
  proxy : new Ext.data.HttpProxy({url:"salesPkgClassData.jsp"}),
  reader: new Ext.data.JsonReader({
   totalProperty:"totalProperty",
   root:"root"},
   [
    {name:"id"},
    {name:"className"},
    {name:"biId"},
    {name:"biName"},
    {name:"stName"},
    {name:"selected"}
   ]
  )
});


//分页常规参数
_storeSalesPkgClass.load(
  {
   params:
    {
     start:0,
     limit:5
    }
 });

//分页条件参数
_storeSalesPkgClass.on('beforeload',function(){
 Ext.apply(
  this.baseParams,
  {
             salesId:_gridJwSales.getSelectionModel().getSelected().get("id")
        }
 );
});

 

 

 

 

 

2、在已有的数据上进行数据的追加

 

 

<!--EndFragment-->

 

var myRecord = Ext.data.Record.create([   
			{name : 'value',mapping : 'value'}, 
			{name : 'name',mapping : 'name'}
		]);
		var storeAuditObjKey = new Ext.data.Store( {
			proxy : new Ext.data.HttpProxy( {
				url : 'getRuleObjKeys.action'
			}),
			reader : new Ext.data.JsonReader( {
				totalProperty : 'total', // 总记录数
				root : 'auditObjKey'
			}, myRecord)
		});
		// 追加的数据
		//var myNewRerord = new myRecord({ name: 'samb',value: 'samb' });
		//storeAuditObjKey.add(myNewRerord);
		//storeAuditObjKey.load({params:myNewRerord, scope: this,add: true});

 

3、ExtJS中 checkboxgroup组件问题

这问题可真纠结得我够久的,花了不少功夫解决,主要症结在于没清楚html代码表面和ExtJs实际值之间的差异。好了,话不多说,看解决方式:

问题:title : '操作全选', 以上为fieldset的title属性,点击操作全选,则将区域内的checkbox全部选上,onSelectAll()方法代码如下:

function onSelectAll()
		{
		    var allcheck = document.getElementById("allCheck");
		    if (allcheck.checked) {
				Ext.select('input[name^=type]').each(function() {
						this.dom.checked = true;
				});
			//	flag = 2;
		   } else {
	
				Ext.select('input[name^=type]').each(function() {
						this.dom.checked = false;
				});
				//flag = 3;
		  } 
		}

 这种方法点击全选或取消全选,改变的只是表面上的现象,勾选了而已,而实际上checkboxgroup中的每一个复选框的值还是原来的值,并没改变,自己一直就在纠结什么全选了,取消全选了等等,根本就没抓住本质,自己管他选了没选,反正勾选了,我就记下它的ID不就行咯!(先人的代码未提供ID,乱糟糟的!气愤!),以下方法则是记住勾选的ID,

function judgeSelectAll(){
        	var str = "";
        	Ext.select('input[name^=type]').each(function() {
        		if(this.dom.checked == true){
        			str += this.dom.id + ",";
        		}
        	})
        	return str;
}

 

下面这函数就是得到勾选的值

// 得到选中的值
		function judgeSelect(){
			var totalSelectId = judgeSelectAll().split(',');
			var oper = Ext.getCmp('operateTypeId');
			var total = 0;
			var temp = '';
			var len = oper.items.length;
            for (var i = 0; i < len; i++)   
            {   
            	for(var k = 0 ; k < totalSelectId.length;k++){
	                if (oper.items.itemAt(i).id == totalSelectId[k])   
	                {   
	                    total++; 
	                    if (i != len - 1)
							temp += oper.items.itemAt(i).inputValue + ",";
						else
							temp += oper.items.itemAt(i).inputValue;
						break;
	                }  
            	}
            }   
            //alert("temp--> " + temp);
			if(total == 0){
				Ext.Msg.alert('提示',"未选择操作,请选择操作");
				return;
			}
			return temp;
		}

 

在提交的时候调用这个方法,得到返回值,就是用户勾选的内容的用逗号区分开的拼接字符串咯!

其实真怪自己对ExtJS不熟练,发现有如下方法,可以省事好多

   Ext.get(document.getElementById("allcheck")).on("click",function(){
	   if (this.dom.checked) {
			Ext.select('input[name^=type]').each(function() {
					this.dom.checked = true;
			});
	  } else {

			Ext.select('input[name^=type]').each(function() {
					this.dom.checked = false;
			});
	 } 
   })

 

获取选中的值

var s = Ext.getCmp("daily").getForm().findField('operType').getValue();
var temp = '';
for (i = 0; i < s.length; i++) {
             if (i != s.length - 1)
	temp += s[i].inputValue + ',';
            else
	temp += s[i].inputValue;
}
alert("temp--> " + tymp);

 

5、好坑爹的啊!纠结。。碰上这种问题真让人想死啊!问题是如何让panel面板居中显示,下面是解决方案:

 <body  style="text-align: center; ">
	   <jsp:include page="toolChartBar.jsp" flush="false" />
	   <div id="reportGridSearch" style="margin:0 auto;width:800"></div>
	   <div id="reportGridImage" style="margin:0 auto;width:800"></div>
	   <div id="reportGridTable" style="margin:0 auto;width:800"></div>
  </body>

 body里面的代码是让panel面板在IE浏览器中居中,而具体每一个div里的样式代码则是使其在火狐浏览器中居中显示,

,没有使用panel的border布局,那样调试了好久单个可以显示,整合在一起的时候就一个都不出来了!!!郁闷!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值