两个iframe,左边是一棵树,右边是树对应操作的页面..在右边新增一个节点,左边树要能局部刷新..将新的节点展现,并且是在当前节点,而不是回到根..
在右边的iframe应该添加什么脚本 能让树局部动态刷新啊? // panel默认加载URL,记录当前panel所加载的URL var url = "knowledge!showKnowLedgePage.do"; Ext.onReady(newViewPort); // 新建子类对象 var subTypeWin; var subTypeForm; // 新建知识对象 var knowLedgeWin; var knowLedgeForm; // 当前选择的节点 var currentNode; var treeLoad = new Ext.tree.TreeLoader({url:"knowledge!getTreeNode.do"}); function newViewPort() { new Ext.Viewport({ enableTabScroll : true, layout : "border", items : [tree, panelCenter] }); } var tree = new Ext.tree.TreePanel({ id : "westTreePanel", width : 200, align : 'left', autoScroll : true, animate : true, enableDD : false, containerScroll : true, rootVisible : true, lines : true, frame : true, // collapsible : true, singleClickExpand : false,// 支持单击展开 region : 'west', margins : '0 0 5 5', cmargins : '0 5 5 5', split : true, border : true, maxWidth : 200, minWidth : 20, root : { text : '知识管理', id : '0', nodeType : 'async', expanded : true }, listeners : { 'click' : function(node, e) { currentNode = node; if(node.id==this.getRootNode().id){ open(url,'rightContentFrame',''); //panelLoad(panelCenter, url); } node.expand(); }, 'dblclick' : function(node, e) { //node.expand(); } }, loader : treeLoad }); var panelCenter = new Ext.Panel({ id : "panelCenter", region : 'center', autoScroll : true }); function panelLoad(panel, url) { if (panel != undefined) { panel.load({ url : url, text : "正在加载,请稍候……", nocache : true, scripts : true }); } } /** * 新建子类窗口 */ function openSubTypeWin() { if (subTypeWin == undefined) { subTypeWin = new Ext.Window({ height : 300, width : 500, title : '知识库管理', closeAction : 'close', modal : true, items : [getSubTypeForm()], listeners : { "beforedestroy" : function(obj) { obj.hide(); return false; } } }); } else { subTypeWin.hide(); } subTypeWin.show(); }; /** * 获取创建子类别Form * * @return */ function getSubTypeForm() { if (subTypeForm == undefined) { subTypeForm = new Ext.FormPanel({ id : 'subTypeForm', height : 300, frame : true, items : [{ columnWidth : .2, buttonAlign : 'center', defaultType : 'textfield', layout : 'form', items : [{ fieldLabel : '类别名称', name : 'name', anchor : '95%', allowBlank : false, emptyText : '请填写类别名称' }, { fieldLabel : '类别描述', xtype : 'textarea', name : 'desc', anchor : '95%', allowBlank : true }], buttons : [{ text : "提交", handler : function() { if (subTypeForm.getForm().isValid()) { subTypeForm.getForm().submit({ url : "knowledge!createChildNode.do", params : { id : nodeId }, success : function(response, options) { subTypeForm.getForm().reset(); // 重新加载数据 subTypeWin.hide(); currentNode.reload(); } }); } } }, { text : "重置", handler : function() { subTypeForm.getForm().reset(); } }] }] }); } return subTypeForm; } /** * 新建知识窗口 */ function openKnowLedgeWin() { if (knowLedgeWin == undefined) { knowLedgeWin = new Ext.Window({ height : 300, width : 350, title : '编辑', closeAction : 'close', modal : true, items : [getKnowLedgeForm()], listeners : { "beforedestroy" : function(obj) { obj.hide(); return false; } } }); } else { knowLedgeWin.hide(); } knowLedgeWin.show(); }; /** * 新建知识Form * * @return */ function getKnowLedgeForm() { if (knowLedgeForm == undefined) { knowLedgeForm = new Ext.FormPanel({ id : 'knowLedgeForm', height : 300, frame : true, items : [{ columnWidth : .2, defaultType : 'textfield', layout : 'form', items : [{ fieldLabel : '所属类别', name : 'parentName1', anchor : '95%' }, { fieldLabel : '标题', name : 'title', anchor : '95%', allowBlank : false, emptyText : '请填写知识标识' }, { fieldLabel : '关键字', name : 'keywords', anchor : '95%', allowBlank : true }, { fieldLabel : '描述', name : 'desc', anchor : '95%', allowBlank : true }, { fieldLabel : '内容', name : 'content', anchor : '95%', allowBlank : true }], buttons : [{ text : "提交", handler : function() { if (knowLedgeForm.getForm().isValid()) { knowLedgeForm.getForm().submit({ url : "knowledge!createChildNode.do", params : { nodeId : nodeId }, success : function(response, options) { // 重新加载数据 } }); } } }, { text : "重置", handler : function() { knowLedgeForm.getForm().reset(); } }] }] }); } return knowLedgeForm; } function createKnowLedge() { vurl = "knowledge!add.do?id="+currentNode.id; panelLoad(panelCenter, vurl); } function createKnowLedge1() { vurl = "knowledge!add1.do?id="+currentNode.id; panelLoad(panelCenter, vurl); } function queryKnowLedge() { vurl = "knowledge!fullTextSearch.do"; panelLoad(panelCenter, vurl); } function queryKnowLedge1() { vurl = "knowledge!fullTextSearch1.do"; panelLoad(panelCenter, vurl); } function queryResult(){ vurl="knowledge!query.do?query=4"; panelLoad(panelCenter, vurl); } 思路: 你肯定是单击左边树后右边才会有变化,然后你在右边做某些动作后,你想办法获得左边树的当前节点,在当前节点下添加一个node对象,改变当前节点的状态(leaf转变为文件夹)
|
|