日期:2014-05-16  浏览次数:20355 次

dorado前台控件属性js技巧

1.前台取系统时间${Util.getDate("yyyy-MM-dd")}
? 设置序列oracle.sequence?? OMS_SEQUENCE
? 前台取session的值?? ${Session.omsuser.userName}
????? 取request的值?? "${Request.TASK_NO}"

2.Label,TextEditor,Label,Element Renderer等?
FieldLabel的ID为: formName_fieldlabel_fieldName?
TextEditor以及CheckBox的ID为: formName_eidtor_fieldName?
Label的ID为:formName_label_fieldName?
Element Renderer的ID为:formName_groupName_ElementName_renderer?
FormGroup的id的生成规则是:AutoForm ID_group+index,其中index为Group的顺序,从0开始。?
比如该示例的第二个FormGroup的ID是formEmployee_group1

3.第一个问题,若根据的条件是根据dataset的某一列的值,在DataTable的该Column的onRefresh (column, row, cell, value, record)事件中,根据value的值,来改变column的颜色。?
column.style.color = "red";?
第二个问题:DataTable有Column有readOnly属性,Dataset的Field有readOnly属性,设置这两个都是可以的。?
取得DataTable有Column:table.getColumn("")?
取得Dataset的Field:dataet.getField("");?
最后可能需要刷新一下:?
table这么使用:table.refresh();?
dataset这么使用:dataet.refreshControls();?
row.style.color = "#00000";?
if(value==9)?
{?
row.style.backgroundColor="#D83A3A";?
}else?
{?
row.style.backgroundColor="";

}?
return false;

?if(value < 3000){
?? row.style.backgroundColor = "red";
?}
?cell.innerHTML = value;
?return false;

4.由于客户端没有AutoForm对象,所以无法直接AutoForm对象,不过AutoForm生成的label和texteditor还是有规律可循的。在页面中:?
FieldLabel的ID为: formName_fieldlabel_fieldName?
TextEditor以及CheckBox的ID为: formName_eidtor_fieldName?
Label的ID为:formName_label_fieldName?
Element Renderer的ID为:formName_groupName_ElementName_renderer


若要控制AutoForm中组件的数据,则建议操作Dataset对象,而不是具体的组件。一般来说,我们只是控制AutoForm中的组件显示以及只读属性。?
示例代码如下:

/**?
*控制TextEditor的可见性?
*/?
formName_eidtor_fieldName.style.display="none";?
/**?
*控制TextEditor的可读性?
*/?
formName_eidtor_fieldName.setReadOnly(true);

若是控制AutoForm中的组件的只读,建议使用setReadOnly方法,不要直接调用formName_eidtor_fieldName.readOnly=true,因为dorado对TextEditor进行了一些封装,所以只设置readOnly属性是不能达到目的目的。

5.select sequencetable.NextVal from dual ----查询ORACLE序列

6.关闭tabset的标签?http://221.130.182.164/bbs/posts/list/2920.page

7.修改表格的样式
<style>
.DataTable .HeaderGrid? {
?text-align:left;

}
</style>

8.各种subwindow的关闭
requestCommand请求新的页面?? SubWindow.hideParent();
customDropdown请求的???????? DropDown.closeFrame();
一般的SubWindow请求的??????? SubWindow.hide();

9./*datasetDropdown的自动匹配功能,
? *应用:在from表单对应字段的textEdit的onKeyDown(editor,evt)中调用
? *????? 对应dropdown的数据集要配置parameters
? *editor是文本框;dropdown是dropdown下拉框,str是labelfield字段
? */
function autocomplete(editor, dropdown,str) {
??var dataset = dropdown.getDataset();
??var keyCode = window.event.keyCode;
??var oldValue = dataset.parameters().getValue(str);
?
??if ((keyCode >= 48 && keyCode <= 90)||(keyCode >= 96 && keyCode <= 105)
???|| keyCode == 8 || keyCode == 32 || keyCode == 40 || keyCode == 46?
???|| keyCode == 229) {
???setTimeout(function () {
????var v = editor.value;
????
????if (v != oldValue) {
?????dataset.parameters().setValue(str, v+"%");
?????dataset.flushData();??
????}
?
????if(!dropdown.isOpened(editor) && keyCode != 13) {
?????dropdown.open(editor);
????}?
???}, 0);
??}
?
??return true;
?}

10./*给列表做一个排序号
?? *ds目标数据集,index指虚拟的排序号