2012-08-06 5 views
1

Ma liste gwt intelligente est regroupée par une de ses colonnes. Si je veux ajouter une nouvelle ligne à un groupe dans la grille, je clique sur le groupe et le bouton Ajouter. Une ligne est ajoutée en tant que dernière ligne de la grille pour l'édition, quel que soit le groupe. Une fois la ligne enregistrée, elle est affichée dans le bon groupe. Existe-t-il un moyen d'ajouter la nouvelle ligne pour éditer dans le même groupe lui-même à la place de la dernière rangée?Ajout d'une nouvelle ligne à une grille listée dans gwt

Répondre

1

Si vous souhaitez utiliser les modifications en attente, vous devez utiliser un TreeGrid au lieu d'un ListGrid. Avec l'arbre sous-jacente, vous pouvez ajouter de nouveaux enregistrements à un TreeNode dédié en appelant:

tree.add(node, parent); 

Pour obtenir l'aspect similaire d'un groupé ListGrid vous Nedd pour personnaliser le TreeGrid un peu:

setShowOpenIcons(false); 
setShowDropIcons(false); 
setFolderIcon(null); 
setNodeIcon(null); 

en redéfinissant la méthode:

@Override 
protected String getCellStyle(ListGridRecord record, int rowNum, int colNum) { 
    if (data.isFolder((TreeNode) record)) { 
     return "myOwnHeader"; 
    } 
    return super.getCellStyle(record, rowNum, colNum); 
} 

vous pouvez définir un style personnalisé pour tous les en-têtes comme ceci:

.myOwnHeader{ 
    border-bottom: 1px solid #8299B8; 
    color: #3764A3; 
    font-family: Tahoma,Verdana,sans-serif; 
    font-weight: bold; 
} 
Questions connexes