- 浏览: 665211 次
- 性别:
- 来自: 北京
博客专栏
-
Sencha Touch中...
浏览量:0
文章分类
最新评论
-
云端月影:
mark一下
关于AutoLayout框架Masonry的使用 -
shangs2010:
很好,成功的安装好了ffmpeg
ubuntu上安装ffmpeg -
巾令页:
确实有效!
iOS Webview缩放网页 -
Mo_Right:
你好。 报错 clang:error:linker comm ...
在iOS和Android中使用二维码ZXing库及常见问题解决和整合后的代码 -
thierry.xing:
dp_laughing 写道怎么设置滚动条的位置,使其靠边?这 ...
Sencha Touch 自定义滚动条样式
在使用Ext.ux.touch.grid展示表格的时候,我们有时希望能够在一个页面加载展示不同的表格结构,而UI样式不变。
首先想到的做法是:
1 先在View Container中定义一个touchgridpanel框架,store和column先不定义
/** * 告警系统top10 - 列表 */ Ext.define('App.view.TopTen.List', { extend : 'Ext.Container', xtype : 'topTenListCon', requires: [ 'Ext.ux.touch.grid.View', 'Ext.ux.touch.grid.List', 'Ext.ux.touch.grid.feature.Feature', 'Ext.ux.touch.grid.feature.Sorter' ], config : { title : '告警排名Top10', layout : 'vbox', scrollable : false, items : [ { scrollable : false, layout : 'hbox', height : "40px", defaults : { flex : 1, align : 'center', }, items : [ { xtype : 'selectfield', name : 'toptype', cls : "selectField", options : [ { text : '本月集团频发告警系统', value : '1' }, { text : '本月集团频发告警设备', value : '2' }], usePicker : false } ] }, { id : "topTenList", flex : 1, xtype : "touchgridpanel", store : "", } ] } });
2 通过不同的参数来确定使用不同列结构,通过topTenList.setColumn(column)来实现。
但是发现使用refresh()方法后,只是表头的内容改变了,表本身的内容也变了,但是表的结构没变,例如,第一次表是2列,第二次setColumn后,本来应该变成3列的,但是内容依旧是2列。Sencha的论坛上有人也提了这个问题,但是好像没有人给出正确答案。
于是,决定自己来搞定,翻看了grid的源代码,发现每次重新设置column后,整个内容的模板(tpl)并没有跟着刷新,这个问题应该算是个bug,不过,好说,不是不能及时刷新嘛,那么重新创建一个总可以了吧。所以,干脆把整个grid都做成动态的,在controller里动态加入到整个container里。
废话少续,上代码:
View:
/** * 告警系统top10 - 列表 */ Ext.define('App.view.TopTen.List', { extend : 'Ext.Container', xtype : 'topTenListCon', requires: [ 'Ext.ux.touch.grid.View', 'Ext.ux.touch.grid.List', 'Ext.ux.touch.grid.feature.Feature', 'Ext.ux.touch.grid.feature.Sorter' ], config : { title : '告警排名Top10', layout : 'vbox', scrollable : false, items : [ { scrollable : false, layout : 'hbox', height : "40px", defaults : { flex : 1, align : 'center', }, items : [ { xtype : 'selectfield', name : 'toptype', cls : "selectField", options : [ { text : '本月集团频发告警系统', value : '1' }, { text : '本月集团频发告警设备', value : '2' }], usePicker : false } ] }] } });
Controller:
/** * @class App.controller.TopTenController * @extends Ext.app.Controller * * Top10 * */ Ext.define("App.controller.TopTenController", { extend : "Ext.app.Controller", config : { /** * @private */ currentType : "", currentGrid : null, selectType:{"1":[ { header : '排名', dataIndex : 'POSITION', style : 'text-align: center;', width : '20%', sortable : false }, { header : '系统', dataIndex : 'SYS', style : 'text-align: center;', width : '60%', sortable : false }, { header : '总数', dataIndex : 'TOTAL', style : 'text-align: center;', width : '20%', sortable : false } ], "2":[ { header : '排名', dataIndex : 'POSITION', style : 'text-align: center;', width : '12%', sortable : false }, { header : '设备', dataIndex : 'DEVICE', style : 'text-align: center;', width : '25%', sortable : false }, { header : '系统', dataIndex : 'SYS', style : 'text-align: center;', width : '26%', sortable : false }, { header : '机房', dataIndex : 'CROOM', style : 'text-align: center;', width : '25%', sortable : false }, { header : '总数', dataIndex : 'TOTAL', style : 'text-align: center;', width : '12%', sortable : false } ] }, refs : { topTenListCon : "topTenListCon", toptype:"selectfield[name=toptype]", }, control : { topTenListCon:{ activate : "onTopTenListActivate", }, toptype : { change : "onToptypeChange" } } }, onToptypeChange :function(field, newValue, oldValue, eOpts){ this.setCurrentType(newValue); this.doGetData(); }, onTopTenListActivate : function(){ this.setCurrentType("1"); this.doGetData(); }, doGetData:function(){ var me=this; var app = this.getApplication(); var topTenList=this.getTopTenListCon(); //删除之前创建的表格 if(this.getCurrentGrid()!=null) { topTenList.remove(this.getCurrentGrid()); } var type=this.getCurrentType(); var url=TOP10URL[type]; var columns=this.getSelectType()[type]; //请求表格数据 app.getRequest("HeadSysList",columns, url, true, "",function(store){ //创建表格,并加入到页面中 var grid=Ext.create('Ext.ux.touch.grid.List',{store:"HeadSysList",flex : 1}); grid.setColumns(columns); me.setCurrentGrid(grid); topTenList.add(grid); }); } });
发表评论
-
Xcode编译WebApps找不到js的错误解决办法
2014-05-19 15:53 1123最近使用Xcode做了一个简单的WebApps应用,使用U ... -
Worklight Adapter适配器在Tomcat上返回中文数据乱码
2014-04-10 21:49 1608使用Tomcat部署Worklight项目时,发现适配器上 ... -
Sencha Touch 自定义滚动条样式
2014-04-02 13:42 1526Sencha Touch 自定义滚动条样式,通过修改CSS来 ... -
Sencha Touch NavigationView 中页面的生命周期(触发事件)
2014-04-01 16:30 1764在NavigationView中Push进一个页面进来的生 ... -
Sencha Touch 按钮点击事件穿透到下一层的解决方法
2014-02-13 11:01 1921今天遇到一个问题,对一个按钮进行tap事件监听处理时,如果 ... -
Ext.ux.touch.grid 修改 行的高度
2013-10-12 10:50 1417Ext.ux.touch.grid是一个Sencha To ... -
iOS7 html5页面在ipad上显示过宽的解决方案
2013-10-08 17:36 2291原始Meta定义: <metaname=" ... -
CSS只改变背景透明度,不改变子元素透明度
2013-07-30 15:09 26969一般情况下,我们可以使用css的opcity属性改变某个元 ... -
Sencha Touch中使用标准LocalStorage
2013-07-09 14:29 4833虽然Sencha Touch本身有 ... -
Sencha Touch加载远程Html
2013-06-25 18:10 3093项目上有需求,需要使用Sencha Touch加载远程Ht ... -
Worklight开发中遇到的奇怪错误
2013-06-20 18:15 1272Worklight开发中遇到的奇怪错误: 应用启动时: ... -
Sencha Touch解析PDF
2013-06-20 09:48 2548在Sencha Touch内部渲染PDF,需要使用这个插件, ... -
WebView 文字左右两端对齐
2013-05-20 14:01 4276在WebView中展示文章的时候,像让文字左右两端对齐,这 ... -
Worklight升级问题Persistency data access problem
2013-03-26 10:22 1460今天把worklight studio从5.0.2升级到5 ... -
Worklight资源文件拷贝错误问题
2013-03-20 14:48 1260在Mac上开发Worklight项目时,如果将svn上签出 ... -
使用Worklight进行Hybird开发,Html5和Native切换时增加动画效果
2013-03-20 12:02 2560在Worklight中使用Html5和Native进行Hy ... -
sencha touch listpaging何时显示no more text
2013-03-19 01:22 2274I've had a similar issue with ... -
Sencha Touch与PhoneGap,响应android返回按钮
2012-11-11 23:27 3731使用Sencha Touch开发Html5应用时,在iPhon ... -
Sencha touch setActiveItem问题
2012-10-29 17:14 3223今天使用setActiveItem加载页面时, 发现: ... -
Sencha Touch 控制器 Refs 使用id绑定bug
2012-10-06 22:53 2187今天在使用Sencha Touch 控制器的refs 绑定时, ...
相关推荐
在EXTJS框架中,`Ext.ux.form.LovCombo`是一种自定义组件,它扩展了基本的`Ext.form.field.ComboBox`,提供了更丰富的功能,尤其是针对多选和联动选择的需求。这个组件通常用于创建具有“lov”(即“Look Up Value”...
### Ext.ux.tree.TreeGrid 异步加载知识点详解 #### 一、Ext.ux.tree.TreeGrid简介 在ExtJS框架中,`Ext.ux.tree.TreeGrid`组件是一种结合了树形结构与表格显示特性的控件,适用于展示具有层级关系的数据。通过...
Ext.ux.touch.grid-master 提供了触摸优化的滚动、筛选、排序、分页等功能,同时支持自定义列渲染和行为,使开发者可以创建出高度定制化的数据展示界面。 此压缩包中可能包含以下内容: 1. `README` 文件:通常包含...
`Ext.ux.SwfUploadPanel.js`是这样一个基于ExtJS和SwfUpload技术的插件,它实现了多文件上传的功能。这篇文章将深入探讨这个插件的工作原理、主要特点以及如何在实际项目中应用。 首先,`ExtJS`(全称为EXT ...
### ExtJs选中 `var editor = new Ext.ux.grid.RowEditor` 详解 在Web开发领域,特别是使用ExtJs框架进行复杂用户界面构建时,`RowEditor` 是一个非常实用的功能,它允许用户直接在表格行内编辑数据,极大地提高了...
2、Ext.ux.grid.feature.Tileview 3、Ext.ux.upload.Button 4、Ext.ux.toggleslide.ToggleSlide 5、Ext.ux.container.ButtonSegment 6、Ext.ux.grid.plugin.RowEditing 7、Ext.ux.grid.plugin.DragSelector 8、Ext....
Ext.ux.submit是一个基于Ext Core库的扩展,用于增强原生表单提交的功能。这个扩展主要专注于添加验证机制,使得在前端就能对用户输入的数据进行有效性检查,从而提高应用程序的安全性和用户体验。在深入探讨之前,...
这个"Ext.ux.UploadDialog.zip"压缩包包含了EXTjs的UploadDialog组件,方便开发者在自己的项目中直接使用。 UploadDialog组件的核心功能是提供一个用户友好的界面,让用户能够选择并上传文件到服务器。这个组件通常...
在IT行业中,`Ext.ux.Upload.Dialog`是一个用于Ext JS框架的第三方组件,它扩展了标准的对话框(Dialog)功能,提供了文件上传的能力。这个组件通常被用于Web应用程序,以便用户可以方便地向服务器上传文件。下面...
The class is ready for i18n, override the Ext.ux.UploadDialog.Dialog.prototype.i18n object with your language strings, or just pass i18n object in config. Server side handler. The files in the queue...
Ext.ux.UploadDialog是Ext JS库的一个扩展组件,主要用于实现用户友好的文件上传对话框。这个组件在Web应用中非常实用,特别是在需要处理大量文件上传或者需要用户交互确认的场景下。下面我们将深入探讨`ext.ux....
Ext.ux.UploadDialog批量上传文件实例是一个基于ExtJS组件库扩展插件的文件上传解决方案,主要针对需要一次性处理多个文件上传的应用场景。ExtJS是一个强大的JavaScript框架,它提供了丰富的用户界面组件,而Ext.ux....
`Ext.ux.form.ColorPickerFieldPlus` 是一个由老外开发者重写的色彩选择器组件,它扩展了原生的Ext JS库中的`ColorPickerField`控件,为用户提供更加丰富的色彩选取体验。这个组件的目的是为了实现更自由、更接近...
【Ext 3.x + Ext 2.x 下拉树 Ext.ux.ComboBoxTree】是基于ExtJS框架的一个组件,它结合了下拉框(ComboBox)和树形控件(TreePanel)的功能,提供了一种用户友好的选择界面。在网页应用中,这种控件常用于展示层级...
本文将深入探讨“ext多文件上传控件Ext.ux.UploadDialog”的使用方法及其常见问题。该控件作为ExtJS库的一个扩展,为用户提供了一种方便的多文件选择和上传的界面。 首先,Ext.ux.UploadDialog是一个基于ExtJS框架...
带复选框的这是经过测试可以用的下拉树
在使用 Ext.ux.UploadDialog 进行文件上传时,客户端与服务器端的交互是一个关键环节。Ext.ux.UploadDialog 是一个 ExtJS 框架的扩展组件,它提供了一个友好的用户界面来处理文件上传。在服务器端,我们需要正确解析...
Ext.ux.touch.DateTimePicker 该扩展通过扩展 Ext.Picker 为 Sencha Touch 框架提供了一个 DateTimePicker。用法datetimePicker = new Ext.ux.touch.DateTimePicker({ useTitles: true, id: 'dt', value: { day: 23,...
总结起来,`ext.ux.menu.storemenu.zip` 提供了一个基于 ExtJS 的动态菜单解决方案,它利用了数据存储的功能来创建可扩展和动态的菜单系统。这个组件对于那些需要根据用户角色、权限或动态数据来构建菜单的 Web 应用...