Bonjour
J'aimerai pouvoir faire un DataGrid avec la première colonne qui soit toujours affiché ( un peu comme dans Excel où on peut fixé un colonne). Est ce que c'est possible?
Merci d'avance
Bonjour
J'aimerai pouvoir faire un DataGrid avec la première colonne qui soit toujours affiché ( un peu comme dans Excel où on peut fixé un colonne). Est ce que c'est possible?
Merci d'avance
oui pourquoi ca ne le serais pas
Ou est ce que ca te bloque?
si les valeurs de cette colonne sont indépendante de ta source de données
tu peux créer une templatecolumn et mettre a l'intérieur la valeur de ton choix
Je pense que tu n'a pas bien compris ce que je souhaite (j'ai pas été trés clair non plus...)
Si jamais sur ma page j'ai un scroll horizontal je voudrai que ma première colonne reste visible tout à gauche de la page, ce qui n'est pas le cas quand on crée un DataGrid normalement.
En plus j'en rajoute une couche, ce serait bien de pouvoir faire ca aussi avec l'entête de chaque colonne ( et ouais en plus de ca j'en veut toujours plus)
Voila j'espère que je suis clair dans mes explications.
lol oui tu n'avais pas été clair
mais deja tu bosses en asp net ou en winform ?![]()
Je bosse en asp.net.
SAlut
Réponse un peu vivie et sans réflexion, mais l'idée m'interresse donc je vais faire quelques recherches :
ce que tu veux en fait, c'est faire un scrolling sur ton DataGrid. Je pense qu'il faut orienter tes recherches dans cette direction. Les TemplateColumn et TemplateRow doivent peut être répondre à ça, faut vérifier.
Bon, en fait j'ai plus trop le temps de chercher, amis voilà ce début de code, mais je maîtrise mal de genre de balise CSS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 gvTest.Style.Add(HtmlTextWriterStyle.OverflowY, "scroll")
J'ai essayé d'ajouter un scroll avec ton bout de code mais ca n'a pas l'air de marcher.
Dans le code de la page j'ai bien dans les style overflow-y:scroll mais aucune scrollbar n'est visible. Je vais essayer de creuser un peu voir si j'ai oublié quelquechose.
Pour ton information il est possible d'ajouter un propriété de style à un composant asp comme celà également.
Je trouve cette méthode plus simple car tu a juste besoin de connaitre la propriété de style que tu souhaite modifier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part gvTest.Style.Item("overflow-y") = "scroll"
Tu peut également rajouter les style encore plus simplement :
Merci beaucoup de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <asp:DataGrid id="gvTest" runat="server" style="overflow:scroll"
Edit : J'ai oublié de préciser que je voit pas vraiment comme celà m'aiderai car le scroll s'appliquerai à tout le tableau et donc si j'utilise le scroll ma première colonne que je souhaite avoir toujours visible va disparaitre.
Réponse toujours aussi vive.
Certes, ta colone va disparaitre, mais avec ça t'a au moins un début de psite pour travailler sur la suite.
Merci pour les définitions prorpiétés, je les ai cherchées mais sans succès. Pour la propriété style dans le code de page, c'est pas toujours gagné, le gridview n'en a pas, par exemple.
Je pense que si tu arrive à avoir un scroll sur le tableau, avec un poil de Jscript, tu arriveras à le limiter à toutes les colonne sauf la première, et idem pour les lignes.
Même si la propriété Style n'est pas directement mis pas l'autocompletion dans Visual Studio ou Visual Web Developer , tu peut le mettre quand même ça marche( je vient de faire le test pour le gridView).
Par contre l'autre méthode est bien pratique quand on crée des composant directement dans le code.
Je continue à chercher pour les scrolls.
Je me permet de faire remonter le topic car je cherche toujours et je n'ai toujours pas de solution.
Merçi d'avance.
J'ai trouvé ce lien qui ma permis de bien avancer.
http://www.codeproject.com/aspnet/Da...ixedHeader.asp
Avec ce code on peut fixer la première ligne d'un datagrid.
Il ne me reste plus qu'a reussir à faire la même chose avec une colonne et le tour est joué.
Edit:
Voilà c'est fait. J'ai essayer avec ce style et ca marche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <!-- .DataGridFixedCol {position:relative; left:expression(this.offsetParent.scrollLeft);z-index:140;} -->
Partager