Ext.net如何访问treepanel节点

时间:2014-12-03 07:01:52

标签: c# asp.net-mvc extjs ext.net

我是ext.net的初学者。我使用来自out database的代理创建了一个动态加载的简单树。

@{
    Layout = null;
}

@{
    var thisPlugin = Model as IPlugin;
    if (thisPlugin == null)
    {
        throw new Exception("IPlugin expected");
    }

    var loadChildrenFunc = new Func<string>(() =>
    {
        string retVal = Url.Action("GetChildren/" + Url.Encode(thisPlugin.Id));
        return retVal;
    });

    var tree = Html.X().TreePanel().ID("FACILITY_TREE");
}

@(tree.Title("Facility tree")
        .Icon(Icon.Table)
        .Frame(true)
        .Height(450)
        .Width(300)
        .Border(false)
        .Store(Html.X().TreeStore().Proxy(Html.X().AjaxProxy().Url(loadChildrenFunc())))
        .Root(Html.X().Node().NodeID("0").Text("Facility objects tree")))

Treepanel成功创建并加载节点。 我遇到的问题是访问树以保存状态。 例如,然后展开/折叠节点我需要调用控制器并保存树视图状态。那么问题是如何解决它? Anoter,点击/双击后我需要调用JS函数来修改页面上的一些数据。 请帮忙。谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你需要添加一个事件监听器。

像这样

listeners: {
    collapse: function() {
        alert('collapsed');
    },
    expand: function() {
        alert('expand')
    },
    itemclick: function(s,r) {
            alert(r.data.text);
    }
}

希望这会有所帮助