- 浏览: 656231 次
- 性别:
- 来自: 北京
博客专栏
-
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 1067最近使用Xcode做了一个简单的WebApps应用,使用U ... -
Worklight Adapter适配器在Tomcat上返回中文数据乱码
2014-04-10 21:49 1537使用Tomcat部署Worklight项目时,发现适配器上 ... -
Sencha Touch 自定义滚动条样式
2014-04-02 13:42 1446Sencha Touch 自定义滚动条样式,通过修改CSS来 ... -
Sencha Touch NavigationView 中页面的生命周期(触发事件)
2014-04-01 16:30 1680在NavigationView中Push进一个页面进来的生 ... -
Sencha Touch 按钮点击事件穿透到下一层的解决方法
2014-02-13 11:01 1856今天遇到一个问题,对一个按钮进行tap事件监听处理时,如果 ... -
Ext.ux.touch.grid 修改 行的高度
2013-10-12 10:50 1369Ext.ux.touch.grid是一个Sencha To ... -
iOS7 html5页面在ipad上显示过宽的解决方案
2013-10-08 17:36 2234原始Meta定义: <metaname=" ... -
CSS只改变背景透明度,不改变子元素透明度
2013-07-30 15:09 26926一般情况下,我们可以使用css的opcity属性改变某个元 ... -
Sencha Touch中使用标准LocalStorage
2013-07-09 14:29 4780虽然Sencha Touch本身有 ... -
Sencha Touch加载远程Html
2013-06-25 18:10 2999项目上有需求,需要使用Sencha Touch加载远程Ht ... -
Worklight开发中遇到的奇怪错误
2013-06-20 18:15 1216Worklight开发中遇到的奇怪错误: 应用启动时: ... -
Sencha Touch解析PDF
2013-06-20 09:48 2496在Sencha Touch内部渲染PDF,需要使用这个插件, ... -
WebView 文字左右两端对齐
2013-05-20 14:01 4212在WebView中展示文章的时候,像让文字左右两端对齐,这 ... -
Worklight升级问题Persistency data access problem
2013-03-26 10:22 1422今天把worklight studio从5.0.2升级到5 ... -
Worklight资源文件拷贝错误问题
2013-03-20 14:48 1176在Mac上开发Worklight项目时,如果将svn上签出 ... -
使用Worklight进行Hybird开发,Html5和Native切换时增加动画效果
2013-03-20 12:02 2480在Worklight中使用Html5和Native进行Hy ... -
sencha touch listpaging何时显示no more text
2013-03-19 01:22 2213I've had a similar issue with ... -
Sencha Touch与PhoneGap,响应android返回按钮
2012-11-11 23:27 3668使用Sencha Touch开发Html5应用时,在iPhon ... -
Sencha touch setActiveItem问题
2012-10-29 17:14 3178今天使用setActiveItem加载页面时, 发现: ... -
Sencha Touch 控制器 Refs 使用id绑定bug
2012-10-06 22:53 2087今天在使用Sencha Touch 控制器的refs 绑定时, ...
相关推荐
Ext.ux.tree.treegrid异步加载,点击节点加载数据
extjs多选下拉框,Ext.ux.form.LovCombo,extjs 以修复多选下拉框火狐下取不到值的问题,火狐下div不显示背景色的问题
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....
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 Core的包含校验功能的表单提交扩展Ext.ux.submit
ext.ux.uploadDialog实例
EXTjs的上传组件
[Ext 3.x + Ext 2.x] 下拉树 Ext.ux.ComboBoxTree
Ext.ux.UploadDialog批量上传文件应用,后台采用com.jspsmart.upload.SmartUpload。myeclipse工程,导入即可运行。
Ext+SwfUpload做的一个多文件上传的插件.
带复选框的这是经过测试可以用的下拉树
在做文件上传的时候,发现了Ext.ux.UploadDialog这个强大的东西,实现了一下
工程文件 博文链接:https://mutongwu.iteye.com/blog/693692
Ext.ux.touch.DateTimePicker 该扩展通过扩展 Ext.Picker 为 Sencha Touch 框架提供了一个 DateTimePicker。用法datetimePicker = new Ext.ux.touch.DateTimePicker({ useTitles: true, id: 'dt', value: { day: 23,...
移动开发,主要用于开发JS,很快捷方便,使用
ExtJs选中var editor = new Ext.ux.grid.RowEditor详解.txt
Ext.ux.GoogleChart extjs插件Ext.ux.GoogleChart extjs插件
NULL 博文链接:https://lingf.iteye.com/blog/1188654
ext.ux.menu.storemenu.zip