1

我想为我的 TreePanel 中的每个节点关联自定义数据。然后我将在客户端使用它。

服务器端看起来像:

        Ext.Net.Node root = new Node {Text = "Dummy Form"};
        root.AttributesObject = new { nodeType = "Form" };

        Ext.Net.Node section01 = new Node { Text = "Section 01" };
        section01.AttributesObject = new { nodeType = "Section" };

如何在客户端访问此AttributesObject ?

客户端看起来像:

    .Listeners(l =>
    {
       l.ItemClick.Handler = "myClickHandler(item,record,node,index,e)";
    }

我尝试了以下方法:

  • item.nodeType
  • 记录.nodeType
  • 节点.nodeType
  • 记录.数据.节点类型

以上都不适合我,他们每个人都返回“未定义”。

4

1 回答 1

0

记录。raw .[attributeFieldName]可用于访问数据客户端。

对于如下定义的点击处理程序:

.Listeners(l =>
    {
       l.ItemClick.Handler = "myClickHandler(item,record,node,index,e)";
    }

在服务器端设置属性:

section01.AttributesObject = new { nodeType = "Section" };

在客户端访问自定义设置属性:

function myClickHandler(item, record, node, index, e) {

    var nodeType = record.raw.nodeType;
    console.log(nodeType); //prints "Section"

}
于 2013-03-12T08:26:50.460 回答