Salut à tous,
J'ai une Grid dans ma vue qui contient une colonne Read/UnRead.
Je voudrais faire comme dans un lecteur de mail qui affiche une icone verte quand le mail est non lu et grise quand il est lu.
J'y arrive presque mais hélas l'icone de la premiere ligne de mon tableau est toujours vide et cela se decale d'une ligne (pour uniquement la colonne Action)
voici ce que j'ai fait:
si j'ai 3 enregistrements :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 { xtype : 'actioncolumn', width : 50, align : 'center', items : [{ //icon: 'resources/icons/unread.png', getClass : function (value, meta, record, rowIndex, colIndex, store) { console.log(this.items); if (record.get('isread')) { this.items[0].tooltip = 'Click to Mask as a Unread Notification' + rowIndex; this.items[0].icon = 'resources/icons/read.png'; } else { this.items[0].tooltip = 'Click to Mask as an Read Notification'+ rowIndex; this.items[0].icon = 'resources/icons/unread.png'; } return value; } }] }
read
unread
read
j'ai donc en visu dans ma grille et sur la colonne Action
vide (pas d'icone)
read
unread
un console.log de this.items me donne:
On voit bien que j'ai mes 3 passages mais que le premier est vide?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [Object { hasActionConfiguration=true, handler=function(), getClass=function(), plus...}] WinNoti...7221009 (ligne 49) [Object { hasActionConfiguration=true, tooltip="Click to Mask as an Read Notification0", icon="resources/icons/unread.png", plus...}] WinNoti...7221009 (ligne 49) [Object { hasActionConfiguration=true, tooltip="Click to Mask as a Unread Notification1", icon="resources/icons/read.png", plus...}]
Et j'ai ajouté volontairement le + rowIndex dans le tooltip pour voir ce que j'avais comme valeur, il y a aussi un décallage de 1 là.
Une idée ?
je ne veux pas utiliser une simple colonne car il y a plusieurs avantages à une ActionColumn comme par exemple le fait de ne pas avoir la sélection de la ligne,
d'avoir le curseur qui change etc...
Des idées ?
je ne trouve pas de solutions à mon problème sur Google.
Partager