- 浏览: 234682 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
annyliyear:
找到的ExtJS实现多选下拉框3个代码 -
yinboxian:
源码太乱了
JXTA中使用JxtaServerPipe和JxtaBiDiPipe实现双向可靠的通信 -
yinboxian:
我的peers第一次执行时可以得到正确的结果,以后就不行了。不 ...
JXTA中基于管道监听方式通信 -
cuizhenfu#gmail.com:
http://www.cnblogs.com/cuizhf
JXTA中使用JxtaServerPipe和JxtaBiDiPipe实现双向可靠的通信 -
luxing44530:
请问, jsp页面如果在 META-INF 中, 改怎么访问? ...
Servlet3.0 新特性之模块化实践
实现在表格头部下文可以有对应的查询框,如附件图。代码如下:
Ext.override(Ext.grid.GridView,{ /** * 通过下标获取查询单个单元格元素 **/ getSearchCell : function(index) { return this.mainSh.dom.getElementsByTagName('td')[index]; }, /** * 手动拖拉表头列的宽度 **/ updateColumnWidth : function(column, width) { var columnWidth = this.getColumnWidth(column), totalWidth = this.getTotalWidth(), headerCell = this.getHeaderCell(column), searchCell = this.getSearchCell(column),//获取查询单元格元素 nodes = this.getRows(), nodeCount = nodes.length, row, i, firstChild; this.updateHeaderWidth(); this.updateSearchWidth();//更新所有查询列的宽度 headerCell.style.width = columnWidth; searchCell.style.width = columnWidth;//更新当前单元格的宽度 for (i = 0; i < nodeCount; i++) { row = nodes[i]; firstChild = row.firstChild; row.style.width = totalWidth; if (firstChild) { firstChild.style.width = totalWidth; firstChild.rows[0].childNodes[column].style.width = columnWidth; } } this.onColumnWidthUpdated(column, columnWidth, totalWidth); }, renderUI : function() { var templates = this.templates; return templates.master.apply({ body : templates.body.apply({rows:' '}), header: this.renderHeaders(), ostyle: 'width:' + this.getOffsetWidth() + ';', bstyle: 'width:' + this.getTotalWidth() + ';', search:this.renderSearch()//渲染 }); }, /** * 更新查询列 **/ updateSearch : function() { this.innerSh.firstChild.innerHTML = this.renderSearch(); this.updateSearchWidth(false); }, /** * 更新查询列的宽度 */ updateSearchWidth: function(updateMain) { var innerShChild = this.innerSh.firstChild, totalWidth = this.getTotalWidth(); innerShChild.style.width = this.getOffsetWidth(); innerShChild.firstChild.style.width = totalWidth; if (updateMain !== false) { this.mainBody.dom.style.width = totalWidth; } }, initElements : function() { var Element = Ext.Element, el = Ext.get(this.grid.getGridEl().dom.firstChild), mainWrap = new Element(el.child('div.x-grid3-viewport')), mainHd = new Element(mainWrap.child('div.x-grid3-header')), mainSh = new Element(mainWrap.child('div.x-grid3-search')),//在原来的基础上加查询行 scroller = new Element(mainWrap.child('div.x-grid3-scroller')); if (this.grid.hideHeaders) { mainHd.setDisplayed(false); } if (this.forceFit) { scroller.setStyle('overflow-x', 'hidden'); } /** * <i>Read-only</i>. The GridView's body Element which encapsulates all rows in the Grid. * This {@link Ext.Element Element} is only available after the GridPanel has been rendered. * @type Ext.Element * @property mainBody */ Ext.apply(this, { el : el, mainWrap: mainWrap, scroller: scroller, mainHd : mainHd, mainSh : mainSh, innerHd : mainHd.child('div.x-grid3-header-inner').dom, innerSh : mainSh.child('div.x-grid3-search-inner').dom,//在原来的基础上加上查询列 mainBody: new Element(Element.fly(scroller).child('div.x-grid3-body')), focusEl : new Element(Element.fly(scroller).child('a')), resizeMarker: new Element(el.child('div.x-grid3-resize-marker')), resizeProxy : new Element(el.child('div.x-grid3-resize-proxy')) }); this.focusEl.swallowEvent('click', true); }, masterTpl:new Ext.Template( '<div class="x-grid3" hidefocus="true">', '<div class="x-grid3-viewport">', '<div class="x-grid3-header">', '<div class="x-grid3-header-inner">', '<div class="x-grid3-header-offset" style="{ostyle}">{header}</div>', '</div>', '<div class="x-clear"></div>', '</div>', //查询框所需要的模板 '<div class="x-grid3-search">', '<div class="x-grid3-search-inner">', '<div class="x-grid3-search-offset" style="{ostyle}">{search}</div>', '</div>', '<div class="x-clear"></div>', '</div>', //======================== '<div class="x-grid3-scroller">', '<div class="x-grid3-body" style="{bstyle}">{body}</div>', '<a href="#" class="x-grid3-focus" tabIndex="-1"></a>', '</div>', '</div>', '<div class="x-grid3-resize-marker"> </div>', '<div class="x-grid3-resize-proxy"> </div>', '</div>' ), /** * 渲染查询表格 **/ renderSearch : function() { var colModel = this.cm, templates = this.templates, properties = {}, colCount = colModel.getColumnCount(), searchCells = [], i; templates.sCell=new Ext.Template( '<td style="{style}" ><div id="search-{id}"></div></td>'//列的模板,id可以在columnModel设置,如果没有则是从0开始,例如search-0,search-2,后面我们使用search-{id}来渲染我们所需要的查询控件 ); templates.seatchTpl=new Ext.Template( '<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}"><tr>{cells}</tr></table>'//整个查询框的模板 ); for (i = 0; i < colCount; i++) { properties = { id : colModel.getColumnId(i), style : this.getColumnStyle(i, true) }; searchCells[i] = templates.sCell.apply(properties); } return templates.seatchTpl.apply({ cells: searchCells.join(""), tstyle: String.format("width: {0};", this.getTotalWidth()) }); } });
使用方法:
注意要在表格数据加载后,执行下面这段话,这个顺序一定要注意,要不可以渲染不了。
//例子 var combo = new Ext.form.ComboBox({ store: store, displayField:'state', mode: 'local', triggerAction: 'all', width:100, renderTo: 'search-2'//这个就是在渲染的DIV的ID,在templates.sCell定义了这个ID });
发表评论
-
自定义ListView背景
2012-10-23 09:06 0在Android中,ListView是最常用的一个控件,在做U ... -
TabPanel 加载多个 SWF 需要注意的问题。
2012-02-24 10:11 1329第1个问题,切换TabPanel的时候,有些Tab加载不到SW ... -
ExtJs中2个常用的高级事件功能:委托(Delegation),缓冲(Buffer)
2012-02-24 09:47 1359委托delegation 减低内存销毁和防止内存泄露的隐患是 ... -
ExtJs监听FormPanel的数据的更新情况
2011-08-21 18:17 3042最近项目提出一个新的需求: FormPanel面板当前 ... -
ExtJs中的CheckboxSelectionModel功能的完善
2011-08-17 23:44 5995所谓说要完善CheckboxSelectionModel功能, ... -
ExtJs实现刷新Grid单个单元格
2011-08-17 01:10 4766产生问题背景: ExtJS3.2版本 页面上存在定时刷新表 ... -
使用ExtJs开发项目总结
2011-08-09 00:38 17961、少用IFrame,或者不要 ... -
ExtJs TabPanel右键功能插件
2011-08-09 00:17 1941下面是ExtJs TabPanel右键功能插件,可以全部 ... -
ExtJs自定义带Form功能的Window
2011-08-08 23:58 3592之前在项目遇到一个问题就是使用很多的Window进行新增 ... -
Ext与RESTful Web Services(转载)
2011-04-19 23:29 1800REST与RESTful Web Services 表述性 ... -
如何本地化ext的教程(转载)
2011-04-19 23:28 1055引言 如果你是英语的用户就不必做任何本地化的工作了,这篇教程 ... -
教你创建Ext UI控件(转载)
2011-04-19 23:26 1394使用ExtJs创建新的UI控件 此文档介绍了怎么在ExtJS ... -
扩展Ext中的组件(转载)
2011-04-19 23:22 893引言 起初,Ext.extend()干的不错,它使你能够建 ... -
如何合理规划一个Ext应用程序(转载)
2011-04-19 23:19 1112事前准备 本教程假设你已经安装好ExtJS库。安装的目录是e ... -
扩展Ext的新手教程(转载)
2011-04-19 23:12 1064一般你会希望使用类(class)来诠释面何对象的思想。本教程的 ... -
使用ExtJs如何框架一个大型网站?
2011-04-03 21:42 1600使用ExtJs开发项目问题: 1、如何管理大量的Js文件。 ... -
ddddddd
2011-01-16 15:24 0dddddd -
Ext.tree.panel中如何每次点击展开都从后台加载
2010-12-18 00:54 3710昨天为了项目需要在做异步加载树时,碰到一个每次点击节点都重新, ...
相关推荐
在本文中,我们将深入探讨如何使用ExtJS框架在前端动态生成表格,并结合后端数据进行展示。ExtJS是一个强大的JavaScript库,专用于构建富客户端Web应用程序,尤其在创建交互式用户界面方面表现突出。动态生成表格是...
在EXTjs 4.0以下的版本中,开发人员可能会遇到合并表格单元格的需求,这在展示复杂数据或者组织信息时非常有用。EXTjs提供了强大的表格网格组件(GridPanel),允许自定义布局和样式,包括单元格的合并。 在EXTjs中...
extjs 可编辑的表格树,每个单元格自定义编辑组件,可以自适应列宽,只有源码与例子,运行实例要修改路径,不然图片不能显示,注意etree.jsp的js引入路径 支持Ext2.x以上版本 如运行不了EmailTo : codeme9@gmail....
5. **分页和过滤**:树形表格组件可以集成分页功能,对于大量数据,可以实现局部加载,提高性能。同时,它还支持行级别的过滤,可以根据指定条件筛选显示的节点。 6. **可扩展性**:EXTJS 4的设计使得树形表格组件...
在本文中,我们将深入探讨如何使用ExtJS来模拟Excel表格,以及实现Excel的各种功能。 首先,ExtJS中的GridPanel组件是实现模拟Excel表格的核心。GridPanel允许我们展示大量数据,并提供了诸如排序、过滤、分页等...
ExtJS 是一个强大的JavaScript库,专门用于构建...以上就是关于ExtJS Grid Filter实现表格过滤的基本介绍和应用场景。在实际开发中,根据项目需求,灵活运用各种过滤策略,可以极大地提升数据管理的便捷性和用户体验。
1. **ExtJS Grid Panel**: 这是ExtJS中的一个核心组件,用于展示数据表格。用户可能通过Grid Panel查看查询结果,并进行排序、过滤和分页。 2. **Data Store**: ExtJS的数据存储机制,用于缓存和管理服务器端获取的...
一款基于EXTJS插件风格的表格合并示例,界面不用说了,使用EXT本身的界面风格,很漂亮,EXT功能很强大,这个表格合并功能只是其中一个比较实用的功能,这个例子带给大家,希望通过这个例子你会对EXT有更多的了解。
在这个场景中,"自定义高级查询Extjs"指的是利用Ext JS框架来构建这样的功能。Ext JS是一个流行的JavaScript库,用于创建富客户端应用程序,特别是与数据展示和操作相关的Web应用。 1. **Ext JS简介** - Ext JS...
这是利用sencha cmd 生成的GridFilterDemo工程中的app和build文件夹,其余文件过大并且与主题无关,因此未包含。具体方法,请参看我的博客: 《Extjs4.2 Grid Filter Feature 表格过滤特性》
在本文中,我们将深入探讨如何在ExtJS框架中实现表格单元格的合并,以及解决不同浏览器间盒模型差异带来的布局问题。ExtJS是一款强大的JavaScript库,用于构建富客户端应用程序,其表格组件是功能丰富的数据展示工具...
在这个场景下,查询条件可能通过一个表单来实现,而查询结果则会用网格或表格来展示。 1. **查询条件**: 在ExtJS中,我们可以使用`Ext.form.FormPanel`创建一个包含输入字段的表单,这些字段对应于查询条件。例如...
在ExtJS中实现多行合并(rowspan)的效果,通常是为了在数据表格中展示具有层次结构的数据,或者在某些特定情况下需要对表格行进行合并,以优化数据的展示。这通常涉及到对表格(GridPanel)的配置和自定义。下面...
下面我们将深入探讨EXTJS构建矩阵表格的步骤和涉及的技术点。 1. **创建数据存储(Store)**: - `TMstore` 是一个包含整个矩阵数据的主Store,通过HttpProxy连接到服务器端的'json/getMatrixInfo.do'获取数据,...
在本项目中,“extjs实现的带标签、翻页动画的书”显然利用了ExtJS的组件化特性和动画功能,创建了一个模拟真实书籍阅读体验的应用。 首先,我们来看看“标签”这一概念。在Web应用中,标签(Tab)通常用来组织和...
在这个"ExtJS实现聊天功能"的项目中,我们将探讨如何利用ExtJS框架构建一个类似于QQ的聊天应用程序。 首先,我们要理解聊天功能的核心要素。一个基本的聊天应用通常包含以下部分: 1. **用户界面**:ExtJS提供了...
在“extjs实现增删查改”这个主题中,我们将探讨如何使用ExtJS来实现基本的数据操作功能。 首先,增删查改(CRUD,Create, Read, Update, Delete)是任何数据管理应用的核心功能。在ExtJS中,我们可以利用Grid ...
标题“extjs 实现动态表头”表明我们要讨论的是如何在ExtJS环境中构建一个能够动态改变列头的表格。动态表头的核心在于理解ExtJS的GridPanel组件和ColumnModel类。GridPanel用于显示数据,而ColumnModel则定义了...
最近小弟做了Extjs实现实现下拉框联动的效果,参考了好久才学会,闲下来发一个简单的例子。。呵呵
让我们深入探讨一下如何在ExtJS 4.2中实现分组小计。 首先,我们需要理解ExtJS中的Grid组件。Grid是一种可配置的、可滚动的数据展示视图,用于显示二维数据集。分组功能允许我们将数据按照一个或多个字段进行分组,...