`

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布局,那样调试了好久单个可以显示,整合在一起的时候就一个都不出来了!!!郁闷!

 

分享到:
评论

相关推荐

    Extjs学习—总结的extjs的一些常用小知识点

    本文将根据一个月的学习经验,总结一些对于初学者来说非常有用的小知识点。 #### 二、基础配置与属性 1. **`disabled` 属性**: - 作用:控制组件是否禁用。 - 示例代码:`disabled: true` - 说明:当设置为 `...

    经验总结-Extjs(一)数据交互设计

    标题中的“经验总结-Extjs(一)数据交互设计”表明了本文主要关注的是ExtJS框架在实现数据交互方面的设计和实践经验。ExtJS是一个流行的JavaScript库,用于构建富客户端Web应用,尤其以其强大的数据管理、组件化和...

    Extjs6示例中文版

    综上所述,《Extjs6示例中文版》不仅提供了详细的ExtJS6教程,还分享了作者的实践经验和个人见解,这对于想要深入学习和掌握ExtJS6的开发者来说是一份宝贵的资源。通过学习本书,读者不仅可以了解ExtJS6的基础知识和...

    extjs资料打包

    虽然这个文件名暗示它可能与Java编程语言相关,但考虑到其在EXTJS资料包中,我们可以推测这可能是作者或分享者通过Java开发者视角来探讨EXTJS的使用,或者是如何将EXTJS与Java后端技术结合的经验总结。在阅读这份...

    php+ExtJS 开发实战

    - **最佳实践**: 分享了一些在开发过程中积累的最佳实践,包括代码优化、性能提升等方面的经验总结。 #### 6. 学习资源与进阶指南 对于初学者来说,本书不仅提供了详细的理论介绍,还附带了丰富的实践指导。 - **...

    learning extjs 经典教材

    - **Shea Frederick**:具有多年Web开发经验,擅长使用ExtJS构建高效稳定的Web应用程序。 - **Colin Ramsay**:在前端技术和用户体验设计方面有着深厚的功底,对ExtJS有独到见解。 - **Steve 'Cutter' Blades**:...

    EXTJS 5.1 Examples

    ### EXTJS 5.1 Examples知识点详解 #### 一、EXTJS 5.1 Examples简介 EXTJS 5.1 Examples是一系列针对EXTJS 5.1版本的示例集合,旨在帮助开发者快速上手并深入理解EXTJS框架的各种功能与应用场景。这些示例涵盖了...

    extjs资料大全

    - `Ext常用属性总结.doc`:总结了ExtJS中常用的组件属性,对理解和配置组件非常有用。 - `Extjs_前后台数据交互.doc`:讲解了ExtJS如何与服务器进行数据交互,包括Ajax请求、Store与Model的使用等。 - `extjs_...

    extjs批量上传的所有相关代码和jar,支持包和笔记

    EXTJS是一种基于JavaScript的富客户端应用框架,广泛用于构建企业级..."批量上传"这个压缩包可能包含了实现这一功能所需的全部代码、样式、支持文件及开发者的经验总结,对于学习和理解EXTJS批量上传机制非常有帮助。

    ExtJs(开发指南书籍+实例+可视化工具)

    总结来说,这个资源包提供了全面学习ExtJs的途径:理论书籍让你扎实基础,实例项目让你实战演练,而可视化工具则帮助你高效地设计界面。无论你是初学者还是有一定经验的开发者,这个资源包都能满足你的需求,助你在...

    跟我一起学extjs5前20节的代码

    下面我们将深入探讨EXTJS5的关键知识点,并结合提供的文件来解析其结构。 1. **EXTJS5核心概念**:EXTJS5的核心是组件化,它提供了一套完整的组件库,包括表格、树形视图、图表、表单元素等。这些组件可以灵活组合...

    ExtJs 开发指南书籍 实例 可视化工具

    总结起来,这个资源包为ExtJs开发者提供了一个全面的学习环境,从理论知识到实践案例,再到辅助工具,帮助他们迅速掌握ExtJs并应用到实际项目中。无论是初学者还是有经验的开发者,都能从中受益匪浅。在学习过程中,...

    ExtJS 3.2的中文参考手册

    ### ExtJS 3.2 的中文参考手册知识点详解 #### 1. **EXT简介** - **定位**: 作为一款强大的...以上内容是对ExtJS 3.2中文参考手册的关键知识点进行了详细的解析和总结,希望能对学习ExtJS的开发者有所帮助。

    extjs-4.1.1 源码下载、文档

    总结起来,EXTJS 4.1.1提供了全面的源码、文档和实例,是开发者深入学习EXTJS、构建复杂Web应用的理想资源。无论是新手还是经验丰富的开发者,都能从中获益匪浅。通过理解和运用EXTJS 4.1.1,你可以创建出响应式、...

    ExtJs各个版本2-6API汇总.zip

    总结来说,这个压缩包是学习和开发ExtJS应用的宝贵资源,涵盖了从基础到高级的各种知识,包括组件使用、数据绑定、布局管理、MVC架构、触摸支持、多平台适配等多个方面。无论是初学者还是经验丰富的开发者,都能从中...

    ExtJS3.3版本的BUG

    根据提供的信息,我们可以总结出以下知识点: ### 一、问题背景 在ExtJS 3.3版本中,用户报告了一个关于`Window`组件的问题。该问题表现为:当使用`Window`组件并尝试通过按钮点击事件获取`Window`的标题时,结果...

    深入浅出ExtJS(第2版).

    总结起来,《深入浅出ExtJS(第2版)》这本书应该涵盖了ExtJS的基础知识、核心特性以及实际应用案例等内容,适合希望深入了解并掌握该框架的开发者阅读。通过本书的学习,相信读者能够更好地利用ExtJS的强大功能来...

    ExtJS_MVC框架的搭建实例

    #### 二、基础知识准备 在深入探讨具体的项目搭建步骤之前,我们先简要回顾一下涉及到的一些关键技术点。 **1. ExtJS简介** ExtJS是一款基于JavaScript的开源前端框架,主要用于构建企业级的Web应用程序。它提供了...

    掏钱学Extjs pdf

    ### 掏钱学Extjs PDF知识点解析 #### 一、Extjs简介与学习价值 ...对于有经验的开发者来说,这份文档同样具有很高的参考价值,可以帮助他们更深入地探索Extjs的潜力,从而构建出更加优雅、高效的企业级Web应用。

Global site tag (gtag.js) - Google Analytics