2010-08-12 8 views
1

dans mon site, j'ai une table jqgrid. Par défaut, les noms des colonnes (en-tête) sont plus longs que la largeur de la colonne, parce que j'ai défini le nom avec une ellipse. Toutefois, lors du redimensionnement de la colonne, le nom abrégé avec ellipse reste affiché. Comment puis-je obtenir le travail automatique, comme les points de suspension devrait disparaître et changer le nom complet quand il y a assez d'espace, lorsque l'utilisateur est l'expansion de la colonne.jqgrid - changer le nom de l'en-tête de colonne automatiquement en fonction de la largeur

grâce

+0

Il existe d'autres solutions de votre problème. Pourriez-vous poster un exemple de votre définition jqGrid et le code que vous utilisez pour produire les noms avec ellipse? Quel navigateur web utilisez-vous? IE6? Pourquoi l'option 'autowidth' n'est pas assez bonne pour vous? Probablement un exaple répond à la plupart des questions. – Oleg

Répondre

1

Vous pouvez ajouter un gestionnaire d'événements après le redimensionnement se termine pour réinitialiser les noms. Comment stockez-vous/changez-vous les noms? Si elles sont dans un tableau, vous pouvez ajouter une fonction comme:

var columnNames = ['first', 'second', 'third'];  
$("#mygrid").jqGrid({ 
    ... 
    resizeStop: function(newwidth, index){ 
     jQuery("#mygrid").jqGrid('setLabel',index,columnNames[index]); 
    }, 
    ... 
}); 
+0

je vous remercie de la réponse, mais j'ai besoin de quelque chose automatiquement, dans cette solution je dois calculer la largeur et voir combien de caractères il entre ..., je veux voir si possible de déclarer un en-tête long et l'affichage est à la largeur de la taille –

Questions connexes