2013-03-01 5 views
1

Я хочу связать пользовательские данные для каждого узла в моей TreePanel. Тогда я буду использовать его на стороне клиента.Как связать/получить пользовательские данные для каждого узла TreePanel в Ext.NET

стороне сервера выглядит следующим образом:

 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

Ничего из вышеперечисленного не работало для меня, каждый из них возвращает «undefined».

+0

попробовать гулкой корневой элемент в консоли. там вы можете проверить его и получить правильный путь. моя догадка была бы node [index] .nodeType – Vogel612

ответ

0

запись. raw. [AttributeFieldName] может использоваться для доступа к данным на стороне клиента.

Для обработчика щелчка определяются следующим образом:

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

Набор атрибутов в стороне сервера:

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

Access пользовательский набор атрибутов в стороне клиента:

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

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

} 

 Смежные вопросы

  • Нет связанных вопросов^_^