韩吉顺最新消息:局部刷新树 Ext
来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 14:07:52
两个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转变为文件夹)
在右边的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转变为文件夹)
局部刷新树 Ext
ajax局部刷新 (三种方法都可以)
ext菜单带权限
ext 细节复习
英语口语词汇 (Ext)
Ext进度条的使用
ext 插件Spket 安装1
ext 3.x 图表1
刷新心情
Js刷新大全、刷新网页
Ext智能提示 - Spket(Eclipse插件) |
基于Ext异步加载tree的实例
ext designer自动生成代码的使用
在应用中使用Ext Loader |
EXT表单组件常见属性介
局部减肥
局部诱惑
局部细节
Myeclipse下ext插件spket的配置和安装
刷新浪微博粉丝
张艺谋是旗手?炮手? 刷新
张泉灵微博精粹 刷新
人性的差异 刷新
人体局部解剖图解