當我使用Flex Builder要執行debug的時候 他會出現
C:\WINDOWS\system32\Macromed\Flash\Flash10b.ocx
Flex Builder cannot locate the required debugger version of Flash Player. You might need to install the debugger version of Flash Player 9 or reinstall Flex Builder.
Do you want to try to debug with the current version?
这个问题的原因是由于flashplayer 升级到10了
List<Integer> projectids= projectServiceManagementService.listProjectByUserID(userid,usertype);
if( projectids.size()!=0 && projectids != null){
projectLists = projectServiceManagementService.getProjectListbyIds(projectids);
}
这段代码中会有bug,bug在于当projectids 为null的时候 projectids.size()这个地方已经报错了
所以正确的写法应该是 if( projectids != null && projectids.size()!=0 )
1、Form中的dateField放到一个Ext.Window上之后依然会在firefox上出现过长问题,之前提到的方法不好使
2、一个Combo放到一个window上,远程加载数据
当关掉窗口之后,第二次打开这个带有combo的窗口,点下拉按钮,不显示数据
但是通过firebug看,数据已经取回来了
解决办法
var Select_Project_Combo = function(){
var store = new Ext.data.JsonStore({
url: '/meetingseasy/projectService/listProjectAll.action',
root: 'projects',
fields: ['projectid', 'projectname']
});
var config = {
store : store,
displayField : 'projectname',
valueField : 'projectid',
typeAhead : true,
triggerAction : 'all',
//editable : false,
emptyText : '选择工程...',
selectOnFocus : false,
listeners : {
select : function(combo, record, index) {
var projectid = record.data.projectid ;
Ext.Ajax.request({
url : 'meetingseasy/acceptProjectid.action',
success : selectProject_responseFn,
method:'POST',
//failure : responseFn,
params : {'projectid' : projectid}
});
}
}
};
function selectProject_responseFn(){
//alert("combo");
//var win = Ext.getCmp(projectComboWin);
//console.log(win);
}
Select_Project_Combo.superclass.constructor.call(this, config);
}
Ext.extend(Select_Project_Combo,Ext.form.ComboBox,{});
//Ext.ComponentMgr.registerType( 'ProjectCombo', ProjectCombo);
var SelectProject_windows = function(){
var _selectProjectCombo = new Ext.form.ComboBox({
id : 'projectComboWin',
……
store : new Ext.data.JsonStore({
url: '/projectService/listAll.action',
root: 'projects',
fields: ['projectid', 'projectname']
})
});
var config={
title : '选择**项目',
width : 400, height : 200,
resizable : true,
//closeAction : 'hide', //就是这句话,当combo直接放在windows里面的时候,跟随windows对象的生命周期,如果这里为hide的话,windows下次打开的时候没变,而combo变了。所以下拉菜单不好用
modal : true
,items : _selectProjectCombo
}
SelectProject_windows.superclass.constructor.call(this, config);
}
Ext.extend(SelectProject_windows,Ext.Window,{});
今天报bug说,dataview数据重新load之后没有刷新
我在dataview中加了 refresh : function(data) {
store.reloads(data);
},
提示reloads未定义~
改成refresh : function(data) {
store.reload(data);
},
之后初次render dataview的时候不停的reload~
现在action中有一个List<Day> days;
Day对象的定义
public class Day{
private List<Event> eventMorningList;
}
Event对象定义
public class Event{
private Integer id;
private Integer name;
// get set method
}
这个怎么显示输出比较好啊
打算做一个日历表那样的形式
一个周有一个列表,每天有一个list,list中是Event
我现在用freemarker,这样写好像是错误的
<#list days as pm>
${ pm.Event.name}
</#list>
输出event name
因为在action直接拼table太麻烦了,感觉可视化效果不好,故打算采用freemarker这种标签语言
但是好像freemarker不能搞对象中对象的属性嘛
请教大家怎么搞?
谢谢大家给俺指点~
查了文档以及别人做的flash样式表
说是这句话
<mx:horizontalAxisRenderer>
<mx:AxisRenderer labelRotation="45" />
</mx:horizontalAxisRenderer>
但其实根本这句话好像不是我所需要的
我需要是坐标轴上的字显示旋转
所以只需要导入
@font-face
{
src: local("MyriadWebPro.ttf");
font-family: EmbeddedArial;
}
.myLineChart
{
font-family: EmbeddedArial;
}
字体需要MyriadWebPro.ttf下载
这个字体导入之后不需要加<mx:AxisRenderer labelRotation="45" />
方法就可以实现旋转~
如果加了反而坐标重叠
.x-date-middle {
padding-top:2px;padding-bottom:2px;
width:130px; /* FF3 */
}
在页面中加入此CSS样式表
今天遇到一个FLEX的问题,需要对一个传入的变量参数添加监听事件
搜了下,只有在RIACHINA找到答案,版主cimmicola给出了很好的解答
**************************************
一般用set 访问符来定义这样的变量
例如 public var sss:string →
private var _sss:string;
public function set sss(value:string){
_sss = value;
dispatchEvent(new Event("sssChanged"));
}
public function get sss():string{
return _sss;
}
这样写虽然是代码多了很多,不过方便日后的扩展。
var str:String = Application.application.parameters.myparam;
在js中这样写
var swfurl = "myswf.swf?progId=" + idVal;
swfobject.embedSWF(swfurl, "repchartdiv", "1024", "500", "9.0.0", "expressInstall.swf");
也可以写成
var attributes = {
"progId": idVal
};
swfobject.embedSWF("myswf.swf", "repchartdiv", "1024", "500", "9.0.0", "expressInstall.swf", null, null, attributes);