ExtJs TreePanel 动态加载

<span style="white-space:pre">	</span>今天在做ExtJs 做动态加载的时候,使用删除第一次可以正确执行,当使用编辑、或添加后,更新的数据一直出不来
这是修改之前的代码:
<pre name="code" class="javascript">//添加点组
var addPointGroup = function(groupName)
{

	Ext.Ajax.request(
	{
		url : pg_servlet + '_addFavoriteGroup?name=' + encodeURI(groupName),
		method : 'GET', success : function(response)
		{
			Ext.Msg.alert('提示', '添加点组成功!');
<pre name="code" class="javascript"><span style="white-space:pre">			</span>loadPointGroup();
}, failure : function(response){Ext.Msg.alert('提示', '添加点组失败!' + response.responseText);}});};//编辑点组var editPointGroup = function(groupName,menuedGroupID){Ext.Ajax.request({url : pg_servlet + '_renameFavoriteGroup?name=' + groupName+ '&groupID=' + menuedGroupID, method : 'GET',success : function(response){Ext.Msg.alert('提示', '修改成功!');
 
<pre name="code" class="javascript"><span style="white-space:pre">			</span>loadPointGroup();
}, failure : function(response){Ext.Msg.alert('提示', '修改失败!' + response.responseText);}});};//删除点组var deletePointGroup = function(groupId){Ext.Ajax.request({url : pg_servlet + '_removeFavoriteGroup?id=' + groupId,method : 'GET', success : function(response){Ext.Msg.alert('提示', '删除成功!');
<span style="white-space:pre">			</span>loadPointGroup();
}, failure : function(response){Ext.Msg.alert('提示', '删除失败!' + response.responseText);}});}
 


 
使用这个东西我调试了半天,结果一直都出不来,后来发现一直都没调到重新加载的方法,树节点没有变化


//获取点组
var loadPointGroup = function()
{
	var tree = Ext.getCmp("tree");
	var node = tree.getSelectionModel().getSelectedNode();
	if (node == null)
	{
		tree.getRootNode().reload();
	} else
	{
		var path = node.getPath('id');
		tree.getLoader().load(tree.getRootNode(), function(treeNode)
		{
			tree.expandPath(path, 'id', function(bSucess,oLastNode)
			{
				tree.getSelectionModel().select(oLastNode);
			});
		}, this);
	}
};

修改之后的代码变成这个样子:
<pre name="code" class="javascript">//添加点组
var addPointGroup = function(groupName)
{

	Ext.Ajax.request(
	{
		url : pg_servlet + '_addFavoriteGroup?name=' + encodeURI(groupName),
		method : 'GET', success : function(response)
		{
			loadPointGroup();
			Ext.Msg.alert('提示', '添加点组成功!');

		}, failure : function(response)
		{
			Ext.Msg.alert('提示', '添加点组失败!' + response.responseText);
		}
	});
};

//编辑点组
var editPointGroup = function(groupName,menuedGroupID)
{
	Ext.Ajax.request(
	{
		url : pg_servlet + '_renameFavoriteGroup?name=' + groupName
				+ '&groupID=' + menuedGroupID, method : 'GET',
		success : function(response)
		{
			loadPointGroup();
			Ext.Msg.alert('提示', '修改成功!');

		}, failure : function(response)
		{
			Ext.Msg.alert('提示', '修改失败!' + response.responseText);
		}
	});
};

//删除点组
var deletePointGroup = function(groupId)
{
	Ext.Ajax.request(
	{
		url : pg_servlet + '_removeFavoriteGroup?id=' + groupId,
		method : 'GET', success : function(response)
		{
			loadPointGroup();
			Ext.Msg.alert('提示', '删除成功!');
		}, failure : function(response)
		{
			Ext.Msg.alert('提示', '删除失败!' + response.responseText);
		}
	});
}


 
实际上在功能方面没有任何变化,只是把<span style="font-family: Arial, Helvetica, sans-serif;">loadPointGroup方法放在alert之前调用,这样能保证,</span><span style="font-family: Arial, Helvetica, sans-serif;">loadPointGroup方法不受alert方法的影响。至于为什么这样做,我认为这应该和extJs的异步操作有关。</span>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值