Показать сообщение отдельно
  #1 (permalink)  
Старый 20.01.2012, 11:13
Интересующийся
Отправить личное сообщение для ICEMAN3141592 Посмотреть профиль Найти все сообщения от ICEMAN3141592
 
Регистрация: 18.01.2012
Сообщений: 15

Фильтрация дерева
Здравствуйте. Делаю фильтрацию дерева на ExtJs 3.4, но не получается что-то. Из примеров нашел только для ExtJs.Net

http://examples.ext.net/#/TreePanel/Advanced/Filter/

var triggerField = new Ext.form.TriggerField({
		fieldLabel: 'Поиск',
		triggerClass: 'x-form-search-trigger',
		enableKeyEvents: true
	});

// toolbar дерева, оно большое, поэтому только часть
tbar: {
			items: [
				{
					xtype: 'tbtext', 
					text: 'Поиск'
				},
				{
					xtype: 'tbspacer'
				},
				triggerField
			]	
		}

triggerField.on('keyUp',
					function(element, event) {
						var text = element.getRawValue();
						if (Ext.isEmpty(text, false)) {
							return;
						}
						
						if (event.getKey() === Ext.EventObject.ESC) {
							element.onTriggerClick();
						} else {
							var regExp = new RegExp(".*" + text + ".*", "i");
							var treeFilter = new Ext.tree.TreeFilter(tree);
							// Если название отдела
							if (isNaN(parseInt(text))) {
								
								treeFilter.filterBy(function (node) {
									return regExp.test(node.text);
								});
							} else {
								treeFilter.filterBy(function (node) {
									return regExp.test(node.id);
								});
							}
						}
					}, 
					triggerField, 
					{ buffer: 100 } 
	);
		
	triggerField.onTriggerClick = function(event) {
		this.setValue(""); 
		//tree.collapseAll();
		tree.getRootNode().expand();
		tree.expandAll();
	//	tree.getRootNode().ensureVisible();
	};


фильтрацию делаю по тексту узлов, так и по id.
Подскажите, пожалуйста
Ответить с цитированием