- 浏览: 720525 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
ron.luo:
群主有开放源代码吗?
统一用户权限管理系统(正式版) -
名字应该取长点:
楼主可不可以问你几个问题呀,关于这个插件,貌似单线程,而且不分 ...
Extjs3.3 + swfUpload2.2 实现多文件上传组件 -
mayouth:
不知道楼主能不能解决下浏览器兼容的问题,目前好像火狐和谷歌浏览 ...
Extjs3.3 + swfUpload2.2 实现多文件上传组件 -
一水无间:
...
pushlet + Extjs 聊天室v0.9 (含源码) -
jintt123:
你好!我后台用的是C#,为什么一直上传失败,好像是后台取不到参 ...
多文件上传UploadPanel for extjs4(swfuoload2.5)
在sencha论坛看到的扩展:
例子:
Ext.onReady(function() { new Ext.Viewport({ layout: 'hbox', layoutConfig: { align: 'stretch' }, defaults: { flex: 1 }, items: [{ title: 'ComponentDataView example', items: { xtype: 'compdataview', store: [[1, 'One'], [2, 'Two'], [3, 'Three']], itemSelector: 'tbody tr', tpl: '<table><thead><tr><td>Value</td><td>Text</td></tr></thead><tbody><tpl for="."><tr><td></td><td></td></tr></tpl></tbody></table>', items: [{ xtype: 'numberfield', minValue: 0, maxValue: 100, renderTarget: 'td:nth(1)', applyValue: 'field1' },{ allowBlank: false, renderTarget: 'td:nth(2)', applyValue: 'field2' }] } },{ title: 'ComponentListView example', items: { xtype: 'complistview', store: [[1, 'One'], [2, 'Two'], [3, 'Three']], columns: [{ header: 'Value', width: .5, dataIndex: 'field1', tpl: ' ', component: { xtype: 'button', text : 'test' } },{ header: 'Text', width: .5, dataIndex: 'field2', tpl: ' ', component: { allowBlank: false, applyValue: true } }] } }] }); });
扩展代码:
Ext.ns('Ext.ux'); Ext.ux.ComponentDataView = Ext.extend(Ext.DataView, { defaultType: 'textfield', initComponent : function(){ Ext.ux.ComponentDataView.superclass.initComponent.call(this); this.components = []; }, refresh : function(){ Ext.destroy(this.components); this.components = []; Ext.ux.ComponentDataView.superclass.refresh.call(this); this.renderItems(0, this.store.getCount() - 1); }, onUpdate : function(ds, record){ var index = ds.indexOf(record); if(index > -1){ this.destroyItems(index); } Ext.ux.ComponentDataView.superclass.onUpdate.apply(this, arguments); if(index > -1){ this.renderItems(index, index); } }, onAdd : function(ds, records, index){ var count = this.all.getCount(); Ext.ux.ComponentDataView.superclass.onAdd.apply(this, arguments); if(count !== 0){ this.renderItems(index, index + records.length - 1); } }, onRemove : function(ds, record, index){ this.destroyItems(index); Ext.ux.ComponentDataView.superclass.onRemove.apply(this, arguments); }, onDestroy : function(){ Ext.ux.ComponentDataView.onDestroy.call(this); Ext.destroy(this.components); this.components = []; }, renderItems : function(startIndex, endIndex){ var ns = this.all.elements; var args = [startIndex, 0]; for(var i = startIndex; i <= endIndex; i++){ var r = args[args.length] = []; for(var items = this.items, j = 0, len = items.length, c; j < len; j++){ c = items[j].render ? c = items[j].cloneConfig() : Ext.create(items[j], this.defaultType); r[j] = c; if(c.renderTarget){ c.render(Ext.DomQuery.selectNode(c.renderTarget, ns[i])); }else if(c.applyTarget){ c.applyToMarkup(Ext.DomQuery.selectNode(c.applyTarget, ns[i])); }else{ c.render(ns[i]); } if(Ext.isFunction(c.setValue) && c.applyValue){ c.setValue(this.store.getAt(i).get(c.applyValue)); c.on('blur', function(f){ this.store.getAt(this.index).data[this.dataIndex] = f.getValue(); }, {store: this.store, index: i, dataIndex: c.applyValue}); } } } this.components.splice.apply(this.components, args); }, destroyItems : function(index){ Ext.destroy(this.components[index]); this.components.splice(index, 1); } }); Ext.reg('compdataview', Ext.ux.ComponentDataView); Ext.ux.ComponentListView = Ext.extend(Ext.ListView, { defaultType: 'textfield', initComponent : function(){ Ext.ux.ComponentListView.superclass.initComponent.call(this); this.components = []; }, refresh : function(){ Ext.destroy(this.components); this.components = []; Ext.ux.ComponentListView.superclass.refresh.apply(this, arguments); this.renderItems(0, this.store.getCount() - 1); }, onUpdate : function(ds, record){ var index = ds.indexOf(record); if(index > -1){ this.destroyItems(index); } Ext.ux.ComponentListView.superclass.onUpdate.apply(this, arguments); if(index > -1){ this.renderItems(index, index); } }, onAdd : function(ds, records, index){ var count = this.all.getCount(); Ext.ux.ComponentListView.superclass.onAdd.apply(this, arguments); if(count !== 0){ this.renderItems(index, index + records.length - 1); } }, onRemove : function(ds, record, index){ this.destroyItems(index); Ext.ux.ComponentListView.superclass.onRemove.apply(this, arguments); }, onDestroy : function(){ Ext.ux.ComponentDataView.onDestroy.call(this); Ext.destroy(this.components); this.components = []; }, renderItems : function(startIndex, endIndex){ var ns = this.all.elements; var args = [startIndex, 0]; for(var i = startIndex; i <= endIndex; i++){ var r = args[args.length] = []; for(var columns = this.columns, j = 0, len = columns.length, c; j < len; j++){ var component = columns[j].component; c = component.render ? c = component.cloneConfig() : Ext.create(component, this.defaultType); r[j] = c; var node = ns[i].getElementsByTagName('dt')[j].firstChild; if(c.renderTarget){ c.render(Ext.DomQuery.selectNode(c.renderTarget, node)); }else if(c.applyTarget){ c.applyToMarkup(Ext.DomQuery.selectNode(c.applyTarget, node)); }else{ c.render(node); } if(c.applyValue === true){ c.applyValue = columns[j].dataIndex; } if(Ext.isFunction(c.setValue) && c.applyValue){ c.setValue(this.store.getAt(i).get(c.applyValue)); c.on('blur', function(f){ this.store.getAt(this.index).data[this.dataIndex] = f.getValue(); }, {store: this.store, index: i, dataIndex: c.applyValue}); } } } this.components.splice.apply(this.components, args); }, destroyItems : function(index){ Ext.destroy(this.components[index]); this.components.splice(index, 1); } }); Ext.reg('complistview', Ext.ux.ComponentListView);
发表评论
-
统一用户权限管理系统(正式版)
2015-01-08 21:11 50458该系统已停止更新,已发布另外一个平台,演示地址:htt ... -
多文件上传UploadPanel for extjs4(swfuoload2.5)
2012-11-17 14:21 25455UploadPanel for extjs4 使用的是SWFU ... -
Sencha Touch2 MVC Demo (含源码/数据库)
2012-11-08 16:25 7155源码见附件。由于文件太大,resources\media ... -
后台管理
2012-09-09 18:58 3341java6+spring+hibernate+extjs4.1 ... -
Extjs chekboxtree PagingTreeLoader 多选、分页
2012-04-13 13:58 2112测试使用版本:extjs3.4.0 效果图: ... -
web即时聊天有消息头像跳动
2012-04-05 14:46 2398结合Extjs tree做的. //有消息头像跳 ... -
表情选择扩展
2012-04-05 14:37 1819/** * 表情扩展 * @param {} c ... -
Extjs4 下拉树( v1.0版本有bug,已经上传一个可以用的)
2012-01-06 17:11 8475Extjs4 下拉树,v1.0版本有bug,请使用“TreeP ... -
Extjs4 动态加载(Ext.Loader)
2011-12-29 14:42 30810项目文件路径图 Ext.Loader.setConfi ... -
Extjs多文件上传(非SWFUpload版)
2011-11-08 17:21 8168Extjs多文件上传(非SWFUpload版) 不用flas ... -
Extjs4 MVC详解
2011-09-27 00:59 18467关于一个ext4MVC的例子,代码中有相关注释; 详细见附件 ... -
Extjs4.0 之Ext.Class 属性详解 (alias/mixins /uses/requires/singleton等属性)
2011-09-02 00:22 21521Ext.Class 属性详解 : 1 , a ... -
Extjs4.0 之Ext.Class 属性详解 (alias/mixins /requires/singleton等属性)
2011-09-02 00:12 2Ext.Class 属性详解 : 1 , a ... -
[keel] 权限管理模块(含前后台代码)
2011-06-12 20:47 10224注意:仅供参考,学习之用!支持开源! 关联文章(必看, ... -
[Extjs4.0] keel_jdbc2.0后台管理模块 (包含前后台源码)
2011-05-26 00:02 15322主要测试Ext4.0而做的! keel后台管理模块: ... -
来看看这几种查询布局,您是否还有其他想法?创意无限!
2010-12-25 01:14 3586来看看这几种查询布局,您是否还有其他想法?创意无限! ... -
Ext3.3.1颜色主题(ext3.3.1-theme)
2010-12-23 22:30 7247支持ext3.3.X css文件见附件 ... -
Extjs3.3结合fckeditor2.6.6实现可视化编辑器(java版)
2010-12-11 21:08 4728工程在附件中,后台为java。 fckeditorDe ... -
Extjs3.3 + swfUpload2.2 实现多文件上传组件
2010-12-06 00:11 35586【该上传组件已经停止 ... -
一个联动引发的思考
2010-11-16 23:45 2160之前我认为工作都是重复的做某些东西, 感觉没有激情没有新鲜感 ...
相关推荐
- **`cycle` (Ext.CycleButton)**: 此组件为一个带有下拉选项菜单的按钮。通常用于在一组预设选项中循环选择。 - **`buttongroup` (Ext.ButtonGroup)**: 自3.0版本开始支持,此组件用于将多个按钮组织在一起,形成一...
3. **`cycle`:** 此组件提供了一个带有下拉选项菜单的按钮,由`Ext.CycleButton`类实现。 4. **`buttongroup`:** 用于创建一组按钮,自3.0版本开始支持,通过`Ext.ButtonGroup`类实现。 5. **`slider`:** 滑动条...
例如,要验证一个字段是否为有效的电子邮件地址,可以在`vtype`属性中设置为`email`: ```javascript new Ext.form.TextField({ fieldLabel: 'Email', name: 'email', vtype: 'email' }); ``` #### 结论 通过...
4. **`buttongroup`** - `Ext.ButtonGroup`,自3.0版本起引入,用于创建一组关联的按钮,通常用于选择多个选项。 5. **`slider`** - `Ext.Slider`,滑动条组件,用于输入范围内的数值。 6. **`progress`** - `...
在Extjs开发过程中,`xtype`(扩展类型)是极为重要的一个概念。它实际上是一种类型标识符,用于快速创建特定类型的组件实例。通过使用预定义的`xtype`值,开发者可以方便地构建出各种复杂的用户界面而无需编写大量...
- **描述**: 单选按钮,用于从一组互斥的选项中选择一个。 - **用途**: 性别选择、首选语言等。 **Ext.form.TextArea** - **描述**: 多行文本框,用于输入多行文本。 - **用途**: 意见反馈、留言等。 **Ext.form....
- **DataView and ListView (数据视图和列表视图)**:这两种组件提供了更加灵活的方式来展示数据集合,可以根据需求定制不同的样式和布局。 - **Charts (图表)**:Ext JS提供了一系列图表组件,包括柱状图、折线图...
- `dataview`: `Ext.DataView` - `datepicker`: `Ext.DatePicker` - `editor`: `Ext.Editor` - `editorgrid`: `Ext.grid.EditorGridPanel` - `flash`: `Ext.FlashComponent` - `grid`: `Ext.grid.GridPanel` ...
EXT JS是一个流行的JavaScript框架,用于构建富客户端Web应用。在这个“EXT Designer 设计实例”中,我们将深入探讨如何利用EXT Designer来构建各种组件,包括Form、Window、Grid、ListView、Panel、DataView以及...
Ext JS是一个强大的JavaScript库,用于构建复杂的Web应用程序。本书涵盖了Ext JS的核心概念和技术,旨在帮助开发者掌握如何使用Ext JS来创建高质量的用户界面。 #### 二、书籍结构与主要内容 本书分为五个主要部分...
**Ext JS** 是一个强大的 JavaScript 框架,用于构建复杂的 Web 应用程序。它提供了一套丰富的 UI 组件库,使得开发者能够轻松创建美观且功能强大的用户界面。本章节将详细介绍 Ext JS 的核心特性和基本原理。 - **...
通过上述知识点的详细介绍,我们可以看出 ExtJS 是一个非常强大且灵活的前端框架,它不仅提供了丰富的 UI 组件库,还支持复杂的事件处理机制以及数据绑定等功能。对于希望构建高质量、高性能 Web 应用程序的开发者来...
ExtJS 是一个强大的JavaScript应用程序框架,它提供了丰富的用户界面组件,用于构建富客户端应用。`xtype` 是ExtJS中的一个重要概念,它是组件类的简写形式,用于在配置对象中声明组件类型,使得代码更加简洁。理解...
- 第三部分介绍数据驱动的组件,如网格面板(GridPanel)、编辑器网格面板(EditorGridPanel)、数据视图和列表视图(DataView和ListView)、图表(Charts)、树形结构(trees)以及菜单、按钮和工具栏(Menus, ...