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
  • record.nodeType
  • node.nodeType
  • record.data.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 に答える