Toon posts:

[xul] click event op een cell in een treeview

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een treeview (in xul) en ik wil dat er iets gebeurd als ik op een bepaalde "treecell" click.

Dit gaat natuurlijk niet werken met een onclick op het treecell element (deze is er overigens niet eens), aangezien deze elementen niet in de dom komen.

Wat je wel kan doen is in het tree element of in het treechildren element het click event opvangen. Target van het event is het treechildren element.

Probleem is dus: hoe weet ik op welke rij er geklikt is? selectedIndex uitlezen gaat niet, want het event ga ik cancellen, dus er wordt niks veranderd aan de selectie (klikken op die cell moet niet die rij selecteren, maar alleen een actie op de data van die rij uitvoeren)

Verwijderd

Topicstarter
een update

ik ben er inmiddels achter dat het nslTreeBoxObject interface een method heeft "getCellAt" die de cel en de kolom teruggeeft als je er (muis)coordinaten instopt.

Hiermee kan ik dus de row en col id's terug halen.

Volgens probleem: hoe verander ik het plaatje in die cel? het nslTreeView interface heeft wel een setCellText method, maar daar heb ik dus niets aan, want ik heb er een plaatje inzitten. Er is wel een setCellValue "This method is only called for columns of type other than text", dus dat lijkt 'm te zijn, maar de nieuwe src als string meegeven werkt dus niet.

Eigenlijk verwacht ik ook een setImageSrc, want er is ook een getImageSrc, naast getCellText en getCellValue, maar die method bestaat dus niet.


edit:
door de betreffende colom cycler="true" mee te geven, en de cycleCell functie in de treeView interface te implementeren:
JavaScript:
1
2
3
4
5
6
function doload() {
    var tree = document.getElementById('pageTree');
    tree.view.cycleCell = function(row,col) {
            // doe iets 
    }
}

wordt deze code automagisch uitgevoerd als op de cyclercell wordt gedrukt. Blijft het probleem dus dat ik het plaatje moet wijzigen.

Wijzigen kan aan de hand van de state van de cell. Maar goed, hoe lees ik die dan weer uit? :P enige waar over de state gerept wordt is de beschrijving van het cycler attribuut van het treecol element: http://www.xulplanet.com/references/elemref/ref_treecol.html

[ Voor 46% gewijzigd door Verwijderd op 28-12-2005 22:28 ]