EXTJS 4 学习笔记

1、ComboBox setValue() 问题

有时 combobox setValue()不起作用,或者将值通过转换成model对象后,再向combobox设置值时,下端出现红线。

这个是因为combobox 的 store 可选列表还未初始化的原因,也就是store还未load。

解决办法:

(1)通过EXTJS 4的mvc结构,在controller中的 store 属性配置中加上 combobox 的 store类。如下:


Ext.define('Tms.controller.MyController', {

/**

* 别名

* @type String

*/

alias : 'widget.myController',

// 继承

extend : 'Ext.app.Controller',

// 这里配置的store都会预先加载

stores : ['ComboboxStore']

});

(2)在store的load事件中完成setValue()。如下:

combobox.store.on('load',function(){// 在这里未combobox设置值});


2、EXTJS项目发布问题

下载ext部署工具,SenchaSDKTools-1.2.3。

部署过程中遇到了不少问题:

(1)生成.jsb3文件,我是通过URL的方式来生成的,由于系统访问要求登录(单点登录),

通过以下命令 :

sencha create jsb -a http://localhost/helloext/index.html -p app.jsb3

无法正确生成jsb文件(访问被单点登录拦截)

解决办法:

取消系统单点登录配置,自己创建一个过滤器,在过滤器中手动获取用户信息,将其设置的session中;或者修改需要在session中提取用户信息的代码,将用户信息直接写到代码中。

(2)成功访问系统后,还是无法正常生产jsb文件,原因是index.jsp中处在,<%  %>代码块,去掉这些代码块。

(3)取消jsp中的代码块后,还是无法正常生成。原因:app.js中

//Ext.onReady(function(){     不能把代码写在 Ext.onReady 函数中

Ext.application({

...


});

//});

(4)正常生成jsb文件后,通过以下命令:


sencha build -p app.jsb3 -d .



生成的app-all.js文件是没有经过压缩的,有3M多。

在网上有人说是js文件的编码问题,

修改D:\Program Files\SenchaSDKTools-1.2.3\jsbuilder\src\Project.js  165 行 在后面加上  --charset utf-8

但是试了很多次都没效果。找不到解决办法。


最后在网上自己下载了yui的  yuicompressor.jar 压缩工具进行代码压缩。

 

 

3、  Ext GRID 编辑控制

 

var editing = Ext.create('Ext.grid.plugin.CellEditing',{
	clicksToEdit : 1,
	listeners : {
		beforeedit : function(e, eOpts) {
			var update = e.record;
			if (update) {
				var status = update.get('tdStatus');
				if ('2' == status || '5' == status) {
					Ext.Msg.alert('操作失败', '任务正在评审中,无法编辑!');
					return false;
				}
			} else {
				return false;
			}
		}
	}
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值