`
yxgyh
  • 浏览: 275675 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

项目开发中遇到的extjs问题总结

    博客分类:
  • Ext
阅读更多

事件触发机制

l         给某一个控件添加事件。

obj.addEvents( {search : true });

l         给某一个事件添加处理函数

n         给一个对象或变量添加监听及对应得处理,可以在创建时,通过属性listener添加。

n         或者通过 obj.on(‘event’,function(){})

n         或者通过obj.addListener(“event”,function)

 

l         出发一个事件,params是要传给事件对应的处理函数的参数

Obj.fireEvent(‘eventName’,params)

工具栏

获取工具栏元素方法

var items = this.preview.topToolbar.items;

           items.get('tab').enable();

           items.get('win').enable();

Panel及子类

ViewPort

Viewpor代表整个浏览器的显示区域,会被渲染到html body中,并会随着浏览器显示区域大小自动改变。

Window

1.       创建属性一般设置

{          width : 500,     

           height : 300,

           layout : 'fit',

           constrain : true,    把窗口的显示位置限制在viewport

           constrainHeader : true,

           items : this.form,

           plain : true,

           closeAction:’hide’

           frame : true,

           modal : true, 窗口显示时,把窗口以外的元素用一个样式遮盖

           buttonAlign : 'center' 按钮居中

      }

 

 

 

2.       Beforeclose事件

当窗口关闭以前可以做一些操作,如检查窗口内部表单数据的改变与否

   winObj.on('beforeclose', this.checkDirty, this);

3.       按钮的获取

要获取window的按钮 

winObj.buttons 

disableButton:function(){

           for(i=0;i<this.buttons.length;i++)

               this.buttons[i].disable();//hide()

           },

      enableButton:function(){

           for(i=0;i<this.buttons.length;i++)     

            this.buttons[i].enable()//show();

      }

MessageBox

1.       点击确认/取消后执行function

   Ext.MessageBox.alert/confirm ("信息",msg,

function(button, text) {

//confirm 判断按钮

if (button == "yes")

   //TODO something

},  this);

TabPanel

当页签改变的时候出一个处理函数

Ext.getCmp('tabpanel').on('tabchange',this.tabChange,this);

 

获取某一个页签,在页签中的给id 属性,通过id获取

Ext.getCmp('tabpanel').getItem('id');

 

 

gridPanel

l         gridPanel gridView是控制grid的展现,通过viewConfig用来配置属性,其中

        autoFill : true,forceFit : true 比较重要

l         控制列菜单的显示与否

         enableHdMenu:false

l  对具有翻页功能的grid,当通过某一个参数获取store数据时,传输参数的方法必须是通过get方式,即在url后面追加或许通过baseParams传递。不能通过params传参。

l  Store.reload 方法用于加载当前页的数据 store.load重新加载数据返回第一页。

l  点击翻页按钮时,会调用store.load方法,并传把startlimit封装作为参数传进去,因此如果对查询结果集进行翻页得时候,要把查询条件要写到baseParams或追加到url中,以使翻页后的数据也是符合查询条件的。

l  store的加载路径变了,要通过以下方式设置新的url

      this.store.proxy =new Ext.data.HttpProxy( {url : newURL } );

FormPanel

数据加载和提交注意事项

l         数据加载时,首先要配置reader,并且从后台返回的数据符合解析器的结构,一般跟后台的封装有关。目前所有数据均已list page 形式返回。

l         form.load()方法,当数据加载成功或者失败的时候,都会调用reader解析结果json数据,因此json数据中必须有root(一般为result)指定的结果集。属性successProperty:"success" 用来指定form执行load 成功后要回掉的函数名,默认情况下没有指定。

l         数据加载或提交后,form将回掉success failure函数,submit load方法在回掉的处理稍微不同。

Success/failure: function(form, action) {

var jsonData = Ext.util.JSON.decode(action.response.responseText);

if (jsonData)   //dosomething}

}

检查是否有脏数据

 formPanel.form. isDirty()

一些重要的事件

    当表单提交或加载成功(失败)后,触发以下事件

form.form.on('actioncomplete', handler, this);

      form.form.on('actionfailed', handler, this);

     

Combo控件

Combo控件通过store加载数据时会出现的问题

1. 当设emtyText时,如果没有选中选项则会把请选择…”保存到数据库中

2. 当设readOnly:true 时,一旦选择了某一个选项,则会不到空值,即不选任何值

3. 但是当不只读时,用户又可以自己随便输入值,这时这些值没有对应得key值在数据库中

4. 输入时,下拉框中出现以打头的选项

5. 往数据库传送key而不传value ,即下拉框中显示中国,并选中时,提交表单传送中国对应得key 而不是中国

 

下面为解决方法

{

xtype : 'combo',

name : 'clearingid',

fieldLabel : '付款类型',

hiddenName : 'clearingid',  //隐藏字段,即往后台传输对应得字段,combo会把                                                                 

                                    valueField的值存到这个隐藏字段中

 

store : pay_type_store,// 所要显示的下拉列表的数据对象

valueField : "codeVal1",    //store的值域

displayField : "codeName", //store显示域中国

 

anchor : '100%',

 

emptyText : '请选择...',

forceSelection : true,  //强制只能选择列表中的值 ,解决3

margin: 0cm 0cm 0pt 10.5pt; text-al

分享到:
评论

相关推荐

    Extjs grid 中文排序问题修正

    在EXTJS开发中,我们经常会遇到使用Grid组件展示数据的情况,特别是当数据包含中文字符时,可能会遇到排序问题。EXTJS Grid默认的排序机制对于英文字符处理得较好,但对于中文字符,由于编码和比较规则的不同,可能...

    myeclipse中使用extjs缓慢 卡死 白屏 解决方法总结

    ### MyEclipse中使用ExtJS出现缓慢、卡死、白屏问题及解决方法总结 在进行Web开发时,经常会遇到一些工具与框架不兼容或配置不当导致的问题,这些问题往往会影响到开发效率。本文将针对在MyEclipse环境中使用ExtJS...

    搭建利用Extjs库开发的环境

    ### 搭建利用Extjs库开发的环境 #### 一、引言 ...同时,通过查看源代码,开发者可以更深入地了解Extjs的工作原理,有助于解决实际开发过程中遇到的问题。希望这篇教程能够帮助你更加高效地使用Extjs进行开发。

    Extjs4开发笔记(收集整理).pdf

    在Extjs4开发笔记(一)中,作者提到了其项目文件夹结构中包含的几个主要部分:Data文件夹用于存放数据库文件,其中包含几张用于管理系统的表;Images文件夹存放图片资源;Include文件夹包含ASP服务器端用到的辅助...

    开发中遇到问题,解决后笔记整理

    总结起来,开发过程中遇到的问题涉及前端的JavaScript交互、UI组件的调试、第三方库的依赖管理以及后端的数据处理策略。这些问题的解决需要深入理解各种技术的工作原理,同时注意优化代码和资源使用,以提高应用的...

    在vs2008中添加对extjs的智能提示

    Visual Studio 2008作为一款功能强大的集成开发环境(IDE),虽然其主要支持.NET框架的开发,但也可以通过一些技巧和配置来支持其他类型的项目开发,如JavaScript应用开发。本文将详细介绍如何在Visual Studio 2008...

    ExtJS实用开发指南.pdf

    - **项目案例分析**:通过对具体项目的剖析,总结使用ExtJS过程中遇到的问题及解决办法。 - **常见问题解答**:收集整理开发过程中常见的疑问及其解决方案。 - **资源推荐**:推荐一些有用的工具、库和文档资源,...

    ExtJS-4.2.2-gpl.rar

    除了API文档,可能还包括开发者指南、最佳实践、迁移指南等,这些文档帮助开发者更好地理解和使用ExtJS,解决开发过程中遇到的问题。例如,迁移指南会指导从旧版本升级到4.2.2的步骤,避免潜在的兼容性问题。 6. *...

    EXTJS 5.1 Examples

    2. **项目开发**:在实际项目中遇到难题时,可以从Examples中寻找类似的解决方案,并根据实际情况进行调整。 3. **代码复用**:很多示例代码可以直接应用于实际项目中,减少了重复劳动。 4. **扩展功能**:通过...

    extjs4 ComboBox 点击下拉框 出现grid效果

    在实际项目中,你应该根据需求选择合适的库版本,并通过`ext.js`或`ext-dev.js`引入EXTJS的核心库,然后根据需要引入其他组件,比如ComboBox和Grid。 总结来说,EXTJS4的ComboBox可以通过自定义事件处理和组件嵌套...

    ExtJS_V2.0教程.pdf

    - **社区支持**:ExtJS拥有活跃的社区论坛和支持群组,可以帮助解决开发过程中遇到的问题。 - **实战项目**:推荐学习者参与实际项目,如wlr.easyjf.com提供的基于ExtJS2.0开发的单用户Blog系统源代码,有助于提升...

    extjs的tree的使用

    在深入探讨ExtJS中Tree组件的使用之前,我们先来了解一下ExtJS本身。...在开发过程中,你可能会遇到各种问题,但只要耐心探索,就能找到解决之道。希望这篇指南能帮助你在使用ExtJS的Tree组件时更加得心应手。

    extjs+jsp学生管理

    总结来说,“extjs+jsp学生管理”项目展示了EXTJS在构建富互联网应用方面的强大功能,以及与JSP、SQLServer结合实现数据管理的有效方式。通过学习和实践这样的项目,开发者可以深化对前后端协作的理解,提升Web应用...

    ExtJs获取表单元素的值

    在实际开发过程中,可能会遇到一些特殊情况,例如需要设置或获取嵌套字段的值。此时,可以使用更灵活的方法来操作表单字段: #### 3.1 设置字段值 例如,如果需要设置一个名为`Id`的文本框的值,可以使用`down()`...

    extjs 3.x upload上传组件

    总结来说,ExtJS 3.x Upload组件是Web开发中处理文件上传的重要工具,它提供了一套完整的解决方案,包括用户界面、交互逻辑以及与服务器的通信。通过理解和掌握这个组件,开发者可以创建出功能强大且用户体验良好的...

    ExtJs4 多附件上传组件

    7. **错误处理**:在上传过程中可能会遇到各种错误,如网络问题、服务器错误等,需要有适当的错误提示机制。 8. **多附件支持**:在HTML5中,`&lt;input type="file"&gt;`可以通过设置`multiple`属性来允许用户选择多个...

    ExtJS 4 Cookbook

    ### ExtJS 4 Web Application Development Cookbook #### 一、书籍简介与价值 ...通过本书的学习,读者不仅能够掌握ExtJS的核心知识,还能够了解如何将其应用于实际项目中,提升自己的开发技能。

    Extjs中文教程

    - 在搭建过程中可能会遇到各种问题,如依赖冲突、浏览器兼容性等,需要逐一解决。 - 常见的解决办法包括升级浏览器版本、调整配置文件等。 ##### 3. 部署环境 - 需要在本地搭建一个开发服务器,如使用Apache或Node....

Global site tag (gtag.js) - Google Analytics