Mais

Usando caixas de seleção na árvore de camadas do GeoExt?


Estou tentando gerar uma árvore de camada personalizada usando GeoExt 2.0.2 Meu código é o seguinte:

var store = Ext.create ('Ext.data.TreeStore', {modelo: 'GeoExt.data.LayerTreeModel', root: {expandido: verdadeiro, filhos: [{plugins: ['gx_baselayercontainer'], expandido: verdadeiro, texto : "Mappe di base"}, {expandido: true, text: 'Dati amministrativi', leaf: false, children: [{text: "Area progetto", layer: "area_progetto", nodeType: "gx_layer", iconCls: ' area_progetto ', verificado: verdadeiro}, {texto: "Comuni italiani", camada: "comuni_italia", nodeType: "gx_layer", iconCls:' comuni_italia ', verificado: verdadeiro}]}, {expandido: verdadeiro, texto:' Percorso Via Regina ', folha: falso, filhos: [{texto: "Tratte", camada: "via_regina_tratte", nodeType: "gx_layer", iconCls:' via_regina_tratte ', verificado: verdadeiro}]}]}}); tree = Ext.create ('GeoExt.tree.Panel', {border: true, region: "west", title: "Layers", width: 250, split: true, collapsible: true, collapseMode: "mini", autoScroll : verdadeiro, rootVisible: falso, linhas: falso, armazenar: armazenar});

Meu objetivo aqui é criar várias pastas com as camadas que seleciono e desejo atribuir ícones diferentes para cada camada. Este código criou subnós conforme desejo e posso atribuir um ícone diferente para cada camada na árvore, mas as caixas de seleção não estão funcionando. Você tem alguma ideia ou sugestão sobre por que eles não estão funcionando e como posso fazê-los funcionar?

NOTA: os botões de opção para camadas de base estão funcionando

OBSERVAÇÃO 2: Definir o "armazenamento" como segue realmente funciona para camadas de sobreposição, mas neste caso uma grande pasta é criada contendo todas as camadas, exceto os mapas básicos e não posso criar pastas diferentes e atribuir ícones diferentes para cada camada.

var store = Ext.create ('Ext.data.TreeStore', {modelo: 'GeoExt.data.LayerTreeModel', root: {expandido: verdadeiro, filhos: [{plugins: ['gx_baselayercontainer'], expandido: verdadeiro, texto : "Mapas de base"}, {plug-ins: [{ptype: 'gx_overlaylayercontainer'}], expandido: verdadeiro, texto: 'Camadas de sobreposição'}]}});

Para alguém que pode precisar da resposta no futuro, resolvi o problema mudando ligeiramente a definição do nó:

{plugins: ['gx_layer'], texto: "Area progetto", layer: area_progetto, iconCls: 'area_progetto', onCheckChange: true}


Assista o vídeo: Caixas de cartão de altura variável (Outubro 2021).