rss

ExtJs Grid Cell : récupérer les classes de style d'une cellule de tableau

En ExtJs, il peut être utile de récupérer le style d'une cellule d'Ext.grid.EditorGridPanel par exemple.

voici comment procéder:

Dans un premier temps, il vous faut une référence vers votre grille (qui possède un attribut id unique bien sûr, ici égal à "myGridId"):

var myGrid = Ext.getCmp("myGridId");


Ensuite, par l'intermédiaire de la vue correspondant à la grille,
il est possible de récupérer l'élément HTML TD correspondant à une cellule (ici ligne 0, colonne 3)

var row = 0;
var col = 3;
var myCellHtmlTd = myGrid.getView().getCell(row,col);


Le résultat obtenu (myCellHtmlTd) est un élémént DOM Html : cf. référence w3schools

Il ne vous reste plus qu'a accéder à l'attribut "class" de votre élément pour obtenir les classes de style appliquées à la cellule.

var cellClass = myCellHtmlTd.getAttribute("class");
// pour IE HtmlElement possède les classes dans l'attribut "classname" !
cellClass = (cellClass ? cellClass : myCellHtmlTd.getAttribute("classname"));

Récupérer le style appliqué à une cellule permet par exemple de distinguer sur une ligne de tableau une cellule modifiée d'une cellule non modifiée par exemple (MyGridView::isDirty(r,c) n'ayant pas été implémenté ?)

enjoy ! ^^

Aucun commentaire:

Enregistrer un commentaire