Bonjour,
Comment doit-on procéder pour que lors de la création d'un onglet de tabpanel il est comme contenu le résultat d'une url ?
J'imagine que l'on doit passer par l'attribut html du dit panel.
Merci
Bonjour,
Comment doit-on procéder pour que lors de la création d'un onglet de tabpanel il est comme contenu le résultat d'une url ?
J'imagine que l'on doit passer par l'attribut html du dit panel.
Merci
faire une requête ajax récupérer le html de la réponse
ouvrir le panet avec l'attribut html: affecté avec le contenu
sinon j'avais écrit pour ext3 un panel qui utilise un template
l'usage se faisant par
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
21
22
23
24
25
26
27
28
29
30 /** * templatePanel * * définit un Panel qui gère seul un template associé */ Ext.namespace('Ext.ux'); Ext.ux.TemplatePanel = Ext.extend(Ext.Panel, { //à l'initialisation créer le template. initComponent: function() { Ext.ux.TemplatePanel.superclass.initComponent.call(this); if (typeof this.tpl === 'string') { this.tpl = new Ext.XTemplate(this.tpl); } }, // lors du rendu générer le contenu html. onRender: function(ct, position) { Ext.ux.TemplatePanel.superclass.onRender.call(this, ct, position); if (this.data) { this.update(this.data); } }, //sur mise à jour régénérer le contenu html. update: function(data) { this.tpl.overwrite(this.body, data); } }); Ext.reg('templatepanel', Ext.ux.TemplatePanel);
la partie qui t'intéresse la dedans c'est la méthode update qui modifie le body
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 { //titre de l'onglet fournis par les infos locales xtype: 'templatepanel', colspan: 4, tpl: locale.WeekDashboardPanel.template, data: {name: info.parentNode.attributes.text} }
le plus simple étant tout de même de connaitre le contenu avant la création est de le passer à l'attribut html du panel à la construction.
A+JYT
Merci Sekaijin,
En fait je sais comment affecter du html à un panel, là n'est pas mon problème. Je suis en possession d'un grid et lors d'un click sur un item je veux ouvrir un onglet avec comme rendu le résultat de l'url récupérée sur l'item en question.
J'ai essayé ceci:
mais j'ai une erreur à l'exécution:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 monPanel.load({ url:record.data.url });
Sinon, comment récupérer le html à partir de l'url ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2XML descendants internal method called on incompatible Object
EDIT: l'url renvoie vers une servlet java
c'est bien ce que je dis
tu fais une requête ajax sur ton url
dans le callback success tu récupère le source html généré
et tu ouvre ton panel en lui affectant le html récupéré.
A+JYT
Ah, j'avais mal compris. En effet je vais procéder comme tu me l'indiques.
Merci
Partager