dorado前台控件属性js技艺

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指虚拟的排序号
   *调用方法是在dataset的afterscroll中调用该方法,并给数据添加一个index的虚拟字段
   */
function refreshIndex(ds,index){
   var i=1;
     var record = ds.getFirstRecord();
     while (record) {
       record.setValue(index,i++);
       record = record.getNextRecord();
     }
}

 

 

转自:http://simple-hui.iteye.com/category/93908?show_full=true 谢谢