Dorado 5 : 99. 待分类文章集锦

技巧类

excel导出0.0显示为'.'问题

解决办法:修改Setting.xml的配置<property name="view.smartweb2.defaultFloatFormat" value="#,##0.00"/>

eclipse中BSTEK IDE更新rule配置文件方法

找到com.bstek.ide.core_*.jar,修改该文件的view-events.xml和view-rules.xml.

小技巧

测试发现,直接修改后重启Eclipse并不会更新规则文件,解决的办法是:修改link的配置或直接修改BSTEK_IDE的安装目录的目录名,确保重启eclipse时,eclipse无法找到对应的插件.之后再将配置恢复。再重启eclipse,这时候eclipse会读取到新的规则文件。

dorado studio在JDK1.6下无法关闭标签页

Dorado Studio 在JDK1.6的环境下打开多个标签也后关闭的时候会弹出类似于"1>=1"之类弹出框。

这个错误只在JDK1.6中会出现,看似是一个JDK1.6的bug。

问题出在JDK1.6改变了删除JTabbedPane中Component时事件的触发时机,

JTabbedPane是由两部分组成page和component,
page指的是tab标签
而component只的是Tab的内容

之前studio的逻辑是每次新增tab的时候去设置标题,但是所绑定的事件在删除tab的时候也会不触发,如果一个要删除的页面再 被设置标题是没有意义的,但是不会对程序造成影响。
恰巧jdk1.6中,这个事件的触犯时机放在了标题被删除而component还没有被删除的中间,这就导致了一个被删除的标签被设置标题,显然会出错。

类似的问题在下面的网址也有讨论:http://forums-beta.sun.com/thread.jspa?messageID=9980011

处理办法:
更新studio的jar包:dorado5-studio.jardorado5-studio-res.jar

手工录入yyyyMMddHHmmss日期格式处理办法

可以通过覆盖dorado的共用方法解决这个问题:

function parseDate(value) {
	var date = null;
	if (Date.prototype.isPrototypeOf(value)) {
		date = value;
	}
	else if (typeof(value) == "string") {
		date = new Date(value.replace(/-/g, "/"));
	}
	else if (value != null && value.getTime) {
		date = new Date(value.getTime());
	}
	return date;
}

对于你的这个问题,需要覆盖parseDate方法,并对string类型的值做适合用户需要的处理。

下拉框滚动条问题(在不使用鼠标滚轮的情况下,无法下拉到底)

更新皮肤,css引起

去除OutlookBar中的默认图标

可以通过MenuOutlookBarGroup的viewMode属性设定为List来解决。
由于默认情况下OutlookBar生成的MenuOutlookBarGroup的viewMode为Icon,因此我们要改变这种规则。限于目前JS端还没有合适的接口做这种控制,因此建议的办法为在ViewModel的实现类中的ininControl方法中根据menu对象动态生成OutlookBar的MenuOutlookBarGroup,并设置其viewMode为List。之后OutlookBar在客户端初始化的时候会自动将子菜单添加到相关的MenuOutlookBarGroup。
对应的CSS为:

.OutlookBar .ListGroup .SubLabel {
padding: 4;
white-space: nowrap;
}

table的column根据需要动态变换DropDown

column的onGetCellEditor事件中:
editor.setDropDown(dropdownObject);

table中多个group显示时,第一个Group后有黑线,如何取消

"找到skin.css的FirstGroupCell,进行如下设定:

#if ($BrowserType == ""IE"")

.DataTable .DataGrid .FirstGroupCell {
 border-color: white;
 border-left-color: ;
 border-top-style: solid;
 border-bottom-style: none;
}

.DataTable .DataGrid .OmittedGroupCell {
 border-color: white;
 border-left-color: ;
 border-top-style: none;
 border-bottom-style: none;
}

关于excel导出 打印的缩放比例的问题.

在ExcelProcessorListener的afterProcess中对sheet调用setScaleFactor方法实现。
ExcelProcessorListener可通过setting.xml中的report.defaultExcelProcessorListener参数设定,类和接口说明参考<<dorado 5 ExcelReport 使用手册 v0.9.doc>>

关于用RequestCommand弹出模态窗口后,关闭模态窗口时报错的问题

原因找到,是因为项目中引入了一段js代码所造成的,这段js代码的作用是覆写了Object.toString()方法,使之返回友好性字符串,删除这段代码后问题解决。

附件是这个js代码的文件,具体是"Object.prototype.tos=function(listAll,tbs){...}"这个函数引起的,网上有这段代码的来源,见http://www.jb51.net/article/9391.htm

不过始终有个疑惑,报错的位置始终是dorado-all.js中的行:28、Char:594,不知道dorado-all.js中这段代码与上述代码在模态窗口关闭时(window.close())有什么冲突之处?是不是在覆写Object.toString()方法的时候造成某个对象丢失,以至于在dorado-all.js中捕捉窗口关闭事件时获取不到这个对象($LW),还有就是这个对象($LW)在处理时是不是必需?

Attachments:

dorado5-studio-res.jar (application/octet-stream)
dorado5-studio.jar (application/octet-stream)