javascript
D0rado与javascript
??????這兩天,在使用dorado做開發時,結合了一些javascript的使用.
????? 一、javascript中的appendChild,給一個元素添加其子元素。
oElement = object . appendChild ( oNode )
參數:
oNode : 必選項。對象(Element)。要被添加的對象。
返回值:
oElement : 對象(Element)。返回被添加對象的引用。
說明:
將 oNode 添加為 object 的最后一個子對象。即 object 的 childNodes 集合的最后一項。
oNode 被添加前,必須先被建立。
要使被添加的 oNode 可視,它必須在文檔結構中位于 body 對象以內。
如果 oNode 是已經在文檔結構中存在定位的對象,該對象將被移動到你指定的插入位置,而不會有新對象被創建。
在運行時使用此方法是可以的。在對象的關閉標簽被解析之前移除對象,則文檔空間可能未被呈遞。
示例:
var oNewNode=document.createElement("div");
document.body.appendChild(oNewNode);?
我的程序中的使用方式:將層加為其子結點,然后設置層可見
//document.getElementById("__control_10009").childNodes[0].appendChild(tree2);
//document.getElementById("div1").style.display='block';?
二、在dorado中,得到樹的層,要一層一層的,唉,這種知識點應該有的吧?
tree2.getTreeLevel("dydj").getTreeLevel("bdz").getTreeLevel("dy")
三、在dorado中,如果綁定樹的dataset需要重新加載(因為其dataset在其它頁面已經更新),如果用簡單的flushData完成這項工作的話,樹就沒有了,因為dorado 不會幫助我們重新構造樹的。需要加以下的代碼:
function alterDy(){
sb_ds_dy.setShowLoadingTip(true);
????tree2.getCurrentNode().setExpanded(true);
? sb_ds_dy.parameters().setValue("bdzbm", sb_ds_bdz.getValue("bdzbm"));
sb_ds_dy.flushDataAsync(
function() {
?? sb_ds_dy.disableControls();
??? try {
???? sb_ds_dy.moveFirst();
????? while (!sb_ds_dy.isLast()) {
??????? var node = new RecordTreeNode(sb_ds_dy.getCurrent(), tree2.getTreeLevel("dydj").getTreeLevel("bdz").getTreeLevel("dy"));
??????? tree2.getCurrentNode().addNode(node);
??????? sb_ds_dy.moveNext();
????? }
??? }
??? finally {
???? sb_ds_dy.enableControls();
??? }
? }
);}
四、在dorado中通過綁定一個menu 生成一個outLookBar,menu是根據數據庫的內容動態生成,那么如果想把一個樹添加到outLookBar 的一個outLookBarGroup中,該如何做?怎么準確定位到這個outLookBarGroup?解決辦法:
??? <d:OutlookBar id="outlookbar1" >
??? <d:OutlookBarGroup name="0005" label="變電設備信息">
????? ??<d:Tree id="tree2"></d:Tree>
????? ?</d:OutlookBarGroup>
?? </d:OutlookBar>
在JSP中這樣寫以后,dorado在解析時會找到menu中的menuItem名為0005的那項,取而代之!暈死!不知道的時候想了好多辦法解決這個問題。
總結
以上是生活随笔為你收集整理的D0rado与javascript的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jdk1.5新特性
- 下一篇: gradle idea java ssm