>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >xul tree c разноцветными строками? http://forum.mozilla-russia.org/viewtopic.php?id=54591 |
bidlocoder > 16-04-2012 18:30:59 |
собственно очень хочется реализовать в своем дополнении табличку чтобы в ней строки подсвечивались разными цветами в зависимости от наполнения к примеру вот тестовая табличка Выделить код Код:<tree flex="1"> <treecols> <treecol id="sender" label="Sender" flex="1"/> <treecol id="subject" label="Subject" flex="2"/> </treecols> <treechildren> <treeitem> <treerow> <treecell label="joe@somewhere.com"/> <treecell label="Top secret plans"/> </treerow> </treeitem> <treeitem> <treerow> <treecell label="mel@whereever.com"/> <treecell label="Let's do lunch"/> </treerow> </treeitem> </treechildren> </tree> так вот, у узла treechildren есть свойство alternatingbackground, если его сделать true и в стайле выставить цвет то этого цвета будут все содержащиеся treeitemы этого treechildren, а мне нужно подсвечивать только определенные. Какие предложения? Какие будут предложеия? |
hydrolizer > 16-04-2012 19:12:06 |
bidlocoder пишет
Использовать реализацию модели дерева на базе nsITreeView, в реализации определить нужным образом методы getRowProperties (getCellProperties, getColumnProperties). Визуальное оформление задавать в CSS с помощью спец. правил оформления дерева. Практически всё, что вам нужно, описано здесь: Styling a Tree. |
bidlocoder > 16-04-2012 19:50:16 |
hydrolizer спс за быстрый ответ css это хорошо, а возможно ли это делать динамически, то-есть с помощью скрипта? |
hydrolizer > 17-04-2012 03:27:51 |
bidlocoder Выделить код Код:getRowProperties: function(idx, properties) { if (idx>5 && this.data[idx].someProperty==123) { var aserv=Cc["@mozilla.org/atom-service;1"].getService(Ci.nsIAtomService); properties.AppendElement(aserv.getAtom("foo")); } }, в CSS: - когда в дереве окажется элемент, удовлетворяющий условию, записанному в getRowProperties, то в свойства этого элемента будет добавлен атом foo, на который среагирует CSS. |
bidlocoder > 18-04-2012 15:14:36 |
спасибо разобрался |