`
davidnick
  • 浏览: 1098 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ext grid的触发机制有问题

阅读更多
我设计了一个subgrid功能,也就是异步实现的group功能,这时候chieldGrid和parentGrid的事件就有冲突了。

Ext的grid事件全都绑定在mainbody,而事件触发的过程是根据事件当前element向上寻找到当前的行号,就是这个找的过程有问题,在chieldGrid里面触发事件找到的行号是chieldGrid的,他也给传回parent。

因为事件绑定的问题,View里面堆了大量寻找element的函数,乱七八糟,真郁闷
  • 大小: 9.6 KB
分享到:
评论
4 楼 jianfeng008cn 2008-05-23  
引用
请看我传的那张图片,按正常的情况,事件触发是这样的:subGrid里面的google先触发,然后parentGrid的baidu被触发,事实上也确实是这样的触发过程,parent的触发位置确实是baidu那个位置,但是Ext获取元素的方法仅仅是根据当前element向上找10次,找到 class=x-grid3-body那个元素,而没有考虑多重grid重复的问题,所以导致返回的rowid错误。


这个是需要你再子grid中显式触发的,如果没有这个机制的话,效率会很差吧,而且这里既然你都写了这几个grid了,没必要偷懒完全以来ext或者说浏览器的事件触发机制啊,你的这种想法比较罕见(我觉得)。
3 楼 davidnick 2008-05-21  
可能我没说明白

我要实现的仅仅是subGrid,我自己的函数只是加上左边那个展开按钮,还有就是view.enableRowBody = true;然后把另外一个grid绑定进去,这样做了之后,两个grid就冲突了,不是Ext的设计缺陷?

不太明白楼上说的方法,我不是要屏蔽事件,而是想让事件发生在该发生的地方。比如鼠标经过和点击事件。

请看我传的那张图片,按正常的情况,事件触发是这样的:subGrid里面的google先触发,然后parentGrid的baidu被触发,事实上也确实是这样的触发过程,parent的触发位置确实是baidu那个位置,但是Ext获取元素的方法仅仅是根据当前element向上找10次,找到class=x-grid3-body那个元素,而没有考虑多重grid重复的问题,所以导致返回的rowid错误。

我认为这是个很蹩脚的设计,为了简化触发机制,简单的将触发器放在mainbody上,结果造成内部元素触发点击都要用这个方法寻找触发的row,搞了一大堆查询函数,结果还是有问题。

我现在没找到好的解决办法,简单的方法是重写grid上所有的触发函数,复杂的方法是重写整个View类。
2 楼 sp42 2008-05-20  
是的,

如代码:
if(this.fireEvent('eventName', argument1,argument2, ...) === false){
  //不工作..
}
1 楼 jianfeng008cn 2008-05-20  
如果你想让事件在你执行的监听函数上停止 你只需要 return false 就可以了 这个设计不是很合理吗!?

相关推荐

    ext grid 导出 excel

    综上所述,EXT Grid导出Excel涉及到的技术主要包括EXT Grid的数据操作、XLSX.js库的使用、自定义按钮和事件处理、文件下载触发机制以及可能的样式转换和性能优化。通过这些技术,我们可以实现EXT Grid数据的便捷导出...

    Ext Grid 导出Excel

    总结来说,"Ext Grid 导出Excel"这个话题涵盖了从JavaScript数据结构到Excel文件格式转换的过程,涉及到的主要技术有Ext JS的Grid和Store组件,以及第三方库SheetJS。这个过程对于那些需要提供数据导出功能的Web应用...

    ext grid json分页显示

    2. 当用户滚动到Grid的底部或者点击分页导航条时,EXT Grid会触发Ajax请求,向服务器发送当前的页码和每页记录数。 3. DWR接收到请求后,根据这些参数在后端数据库执行相应的SQL查询,获取对应页的数据,并将其转换...

    ext grid 合并行

    在EXT JS框架中,Grid组件是一种非常常用的展示数据表格的方式,它提供了丰富的功能和灵活性。在某些场景下,用户可能需要合并行或列以更好地组织和呈现数据,例如在显示汇总信息或者创建复杂的报告时。"ext grid ...

    Ext grid 导出Excel

    在IT领域,尤其是在Web开发中,用户...理解并实现这个功能,需要对Ext JS组件、数据存储以及浏览器文件操作有深入的了解。如果你在实际开发中遇到困难,可以参考Ext JS的官方文档,以及社区提供的各种插件和示例代码。

    extgrid导出excel

    "extgrid导出excel"这个主题是关于如何将ExtJS中的数据网格(Ext Grid)的数据导出到Excel文件中,方便用户进行数据管理和分析。 首先,让我们深入了解一下Ext Grid。Ext Grid是一种用于展示和操作大量结构化数据的...

    ext grid 导出excel 代码实例

    - 错误处理:添加适当的错误检查和用户反馈机制,以应对可能出现的问题。 以上就是EXT Grid导出Excel的基本流程和技术要点。在"engierManger"这个项目中,你可能需要结合具体的业务逻辑和代码实现这个功能。记住,...

    EXTgrid导出excel

    这个“EXTgrid导出excel”的例子正是为了解决这个问题。 首先,我们需要理解EXTgrid的基本结构。EXTgrid由一系列列定义、行数据和配置选项组成。列定义包括列头文本、数据字段、宽度等属性,而行数据则是实际存储在...

    Ext自定义Grid Cell插件

    在Ext JS这个强大的JavaScript框架中,`Grid...在深入研究`Ext Grid CellEdit`的过程中,了解和掌握组件化开发思想、事件处理机制以及数据绑定原理是非常重要的,这些知识点能够帮助你更好地驾驭此类自定义插件的开发。

    Ext Grid导出Excel

    在IT行业中,Ext Grid是一款广泛使用的JavaScript组件,它允许开发者创建功能丰富的数据表格。这篇博客“Ext Grid导出Excel”探讨的主题是如何将Ext Grid中的数据显示在Microsoft Excel文件中,这在数据分析、报告...

    Ext中的Grid控制纵向滚动条单次滚动量

    在Ext JS这个强大的JavaScript框架中,Grid Panel是用于展示数据的常用组件,它支持大量数据的分页和排序。在处理大数据集时,Grid往往会出现纵向滚动条,以方便用户浏览表格内容。当数据行数非常多时,用户可能希望...

    jsp 实现的 EXT Grid 导出excel 例子

    JSP可以通过AJAX请求触发导出操作,当用户点击“导出”按钮时,EXT Grid的Store会将其当前的数据发送到服务器。在服务器端,可以使用Apache POI库,这是一个强大的API,专门用于处理Microsoft Office格式的文件,...

    Ext Grid +dwr 列表展示展示带分页

    在本文中,我们将深入探讨如何使用Ext Grid与Direct Web Remoting (DWR)技术结合,实现一个具有分页功能的列表展示。首先,让我们逐一了解这些关键组件。 1. **Ext Grid**: Ext Grid是Ext JS库中的核心组件,用于...

    从Ext grid导出Excel的代码和方法

    在本篇文章中,我们将探讨如何利用Ext Grid,一个强大的JavaScript组件库,来实现从数据网格导出到Excel的功能。Ext Grid是Sencha Ext JS框架的一部分,它提供了丰富的功能来展示和操作数据。 首先,我们需要了解`...

    Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法

    在Ext4.2版本中,用户可能遇到一个特定的问题,即`RowExpander`的`collapsebody`和`expandbody`事件无法正常触发。这两个事件通常用于监听行展开或折叠时的行为,比如更新数据、执行动画或其他自定义操作。 问题的...

    Ext ComboboxGrid

    "Ext ComboboxGrid"是一个基于Ext JS框架的组件,它结合了下拉框(ComboBox)和数据网格(Grid)的功能,提供了一种更强大的选择和筛选数据的方式。在Ext JS中,ComboBox通常用于显示一个可选的下拉列表,而Grid则...

    EXt 可以编辑的grid

    在EXT JS这个强大的JavaScript框架中,"EXt 可编辑的grid"是一个常见的应用场景,它允许用户在数据网格中直接编辑单元格内的数据。EXT JS的CellEditing插件是实现这一功能的关键,它提供了优雅的方式来处理表格数据...

    Ext中grid多行数据全部删除

    ### Ext中grid多行数据全部删除 在前端开发过程中,我们经常会遇到需要处理表格数据的情况。其中,ExtJS是一个非常强大的JavaScript框架,它提供了一系列工具和组件来帮助开发者快速构建复杂的用户界面。本文将详细...

    EXTGrid属性方法

    ### EXTGrid属性方法详解 #### 一、Ext.grid.GridPanel `Ext.grid.GridPanel`是ExtJS 4.0中的一个关键组件,用于创建数据表格。以下为该组件的一些核心属性及其含义: - **store**: 数据存储器,用于存放表格的...

    ext 4.2 grid导出excel 文件

    2. **传输页面**:这部分通常是指Web页面,用户在页面上可以看到grid,并且有触发导出操作的界面元素,如按钮。`S0616.js`和`S0616.jsp`可能是这部分的代码,前者可能是用于处理前端交互的JavaScript,后者可能是...

Global site tag (gtag.js) - Google Analytics