Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№121-11-2010 21:21:48

bidlocoder
Участник
 
Группа: Members
Зарегистрирован: 30-09-2010
Сообщений: 52
UA: Firefox 3.6

xul tree

есть такой xul содержащий дерево

Выделить код

Код:

<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>


<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <script type="application/x-javascript" src="chrome://poster/content/json.js" />


  
  <script type="application/x-javascript">
   <![CDATA[
      function getthetree() {
         return document.getElementById('tree');
      }
   ]]>
</script>

  
  <tree id="tree" flex="1" >
    <treecols>
      <treecol id="title" label="Название" primary="true" flex="1" />
      <treecol id="path" label="Путь" flex="1" />
    </treecols>
    <treechildren id="tree-children">
        <treeitem>
        <treerow>
          <treecell label="PHP"   />
          <treecell label="programming/php"  />
        </treerow>
      </treeitem>
    </treechildren>
  </tree>
  
  <button label="Добавить элемент" oncommand="addSomething()" />

</window>

а вот так cо скрипта добавляю в дерево строки:

Выделить код

Код:

function addItem(title, path)
{
  var item = document.createElement('treeitem');
  var row = document.createElement('treerow');
  var cell1 = document.createElement('treecell');
  var cell2 = document.createElement('treecell');

  cell1.setAttribute('label', title);
  cell2.setAttribute('label', path);
  row.appendChild(cell1);
  row.appendChild(cell2);
  item.appendChild(row);
  document.getElementById('tree-children').appendChild(item);
}

var current = 0;
var items = [
  ['Java', 'programming/java'],
 ...............................................и тд
];
function addSomething()
{
  addItem(items[current][0], items[current][1]);
  current = (current + 1) % items.length;
  //alert(document.getElementById('tree').contentView.rowCount);

}

а вот как ненужные строки удалять с дерева??...

Отсутствует

 

№222-11-2010 13:06:07

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 3.6

Re: xul tree

чем removeChild не подходит?

Отсутствует

 

№328-11-2010 05:02:40

bidlocoder
Участник
 
Группа: Members
Зарегистрирован: 30-09-2010
Сообщений: 52
UA: Firefox 3.6

Re: xul tree

все разобрался,  делаю так

Выделить код

Код:

document.getElementsByTagName('tree')[x].getElementsByTagName('treeitem')[x].parentNode.removeChild(elem[0]);

спасибо

Отсутствует

 

№428-11-2010 05:34:35

bidlocoder
Участник
 
Группа: Members
Зарегистрирован: 30-09-2010
Сообщений: 52
UA: Firefox 3.6

Re: xul tree

и еще вопрос по теме, в свойствах  дерева есть  enableColumnDrag для таскания колонок это хорошо , а вот если надо менять местами строки как быть?,  никакого enableRowDrag не нашел,  может плохо искал
но если все-таки ничего нету может подскажете как можно реализовать  drag строк в xul tree,

Отредактировано bidlocoder (28-11-2010 05:44:54)

Отсутствует

 

№529-11-2010 14:05:11

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 3.6

Re: xul tree

можно посмотреть как это работает в менеджере поисковых систем, например

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]