Показать сообщение отдельно
  #5 (permalink)  
Старый 26.07.2012, 18:20
Аспирант
Отправить личное сообщение для Allan Stark Посмотреть профиль Найти все сообщения от Allan Stark
 
Регистрация: 24.04.2010
Сообщений: 87

Сообщение от DjDiablo Посмотреть сообщение
children- дочерние элементы узла
"expanded"- раскрыт/закрыт узел

возможно эти "директивы можно переопределить", но я привёл пример по умолчанию
Да, с этим ознакомился в справке, спасибо.

Все сделал, как Вы сказали - заработало, дерево отобразилось.

Теперь пытаюсь загнать деревья в таблицу (с последующей возможностью сортировки) и ничего не выходит.
Все же работа с MVC имеет свои явные отличия, сложнее там все...

Делаю согласно примеров:
http://docs.sencha.com/ext-js/4-1/#!...n_architecture
http://dev.sencha.com/deploy/ext-4.1.../treegrid.html

Контроллер отображения инвойсов:
Ext.define('ECS2.controller.controller_invoices', {
	extend: 'Ext.app.Controller',
	views: 'view_invoices_list',
	stores: ['treestore_invoices'],
	models: ['model_treestore_invoices']
});


Модель:
Ext.define('ECS2.model.model_treestore_invoices', {
    extend: 'Ext.data.Model',
	fields: [
		{name: 'invoice_date', type: 'date'},
		{name: 'invoice_number', type: 'string'},
		{name: 'invoice_item', type: 'string'}
	]
});


Сторедж:
Ext.define('ECS2.store.treestore_invoices', {
    extend: 'Ext.data.TreeStore',
	rootVisible: false,
	model: 'ECS2.model.model_treestore_invoices',
	proxy: {
		type: 'ajax',
		url: 'load_invoices.php'
	},
	autoLoad: true
});


Вью:
Ext.define('ECS2.view.view_invoices_list.js' ,{
    extend: 'Ext.tree.Panel',
    alias : 'widget.view_invoices_list',
    title: 'Список накладных',
	store: 'treestore_invoices',
	model: 'ECS2.model.model_treestore_invoices',
    rootVisible: false,
	columns: [{
		xtype: 'treecolumn',
		text: 'invoice_date',
		dataIndex: 'invoice_date',
		flex:2
	},{
		//xtype: 'treecolumn',
		text: 'invoice_number',
		dataIndex: 'invoice_number',
		flex:1
	},{
		//xtype: 'treecolumn',
		text: 'invoice_item',
		dataIndex: 'invoice_item',
		flex:1
	}],
    dockedItems: [{
		xtype: 'form',
		dock: 'top',
		bodyStyle: 'padding:2px 2px 2px 42px',
		frame: true,
		layout: 'hbox',
		height: 35,
		items: [{
			xtype: 'datefield',
			fieldLabel: 'Дата с',
			name: 'log_date_start',
			width: 140,
			labelWidth: 50,
			margin: '0 10 0 0'
		},{
			xtype: 'datefield',
			fieldLabel: 'Дата по',
			name: 'log_date_end',
			width: 140,
			labelWidth: 50,
			margin: '0 10 0 0'
		}]
    }]
});


Сам php файл сценария выдачи данных интереса не представляет, там простое эхо (калька с примера офф. документации):
echo " {'text':'.','children': [
		invoice_date:'22.01.2012',
		invoice_number:'11111',
		invoice_item':'test1',
		expanded: true,
		children:[{
			invoice_date:'22222',
            invoice_number:'22222',
            invoice_item:'test2',
            children:[{
                invoice_date:'33333',
                invoice_number:'33333',
                invoice_item:'test3',
                leaf':true
            },{
                invoice_date:'44444',
                invoice_number:'44444',
                invoice_item:'test4',
                leaf:true
            }]
		}]
	]}
";


Все js файлы раскиданы по папкам в соотв. с спецификацией.
Все отображается окромя дерева во вью, php файл грузится, json с него вроде парсится, ошибок нигде нет.
А вот само дерево не отображается.

Второй день бьюсь, все никак дерево в MVC не ложится

Последний раз редактировалось Allan Stark, 26.07.2012 в 18:28.
Ответить с цитированием