Actuellement j'alimente un DataGrid avec un datatable que je crée
manuellement depuis des accès base.
Depuis visual Studio, j'ai définis le style de la table ainsi que les
colonnes associées au datagrid.
Lorsque je fais des tests, tout fonctionne correctement => mon datagrid
affiche correctement mes données, si ce n'est que maintenant j'ai des infos
à afficher dans une cellule qui tiennent sur plusieurs lignes.
Je pense que la solution la plus simple est d'adapter la hauteur de la ligne
concernée, mais je ne trouve pas comment je peux réaliser cette opération..
De plus, est-il possible de parametrer la hauteur des lignes d'un datagrid
en "AUTOMATIQUE" ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre TCHEKOUTEU [SELF-INFORMATIQUE]
Bonjour,
Cela devrait être possible en utilisant la classe "DataGridTexboxColumn" comme style de colonnes pour les champs concernés du dataGrid. Ensuite il faudrait gérer les propriétés "Multiline=true" et "WordRap=true" du contrôle TextBox associé au "DataGridTexboxColumn" . Cela devrait marcher, je ne l'ai pas testé. Ce qui sûr c'est qu'il est possible de créer sa propre classe dérivée de "DataGridTexboxColumn" en implémentant toutes les fonctionnalités voulue et/ou en surchargeant la méthode "OnPaint()".
@+
"Benoit" a écrit dans le message de news:%
Bonjour,
Actuellement j'alimente un DataGrid avec un datatable que je crée manuellement depuis des accès base. Depuis visual Studio, j'ai définis le style de la table ainsi que les colonnes associées au datagrid. Lorsque je fais des tests, tout fonctionne correctement => mon datagrid affiche correctement mes données, si ce n'est que maintenant j'ai des
infos
à afficher dans une cellule qui tiennent sur plusieurs lignes. Je pense que la solution la plus simple est d'adapter la hauteur de la
ligne
concernée, mais je ne trouve pas comment je peux réaliser cette
opération..
De plus, est-il possible de parametrer la hauteur des lignes d'un datagrid en "AUTOMATIQUE" ?
Merci pour toute information.
Bonjour,
Cela devrait être possible en utilisant la classe "DataGridTexboxColumn"
comme style de colonnes pour les champs concernés du dataGrid.
Ensuite il faudrait gérer les propriétés "Multiline=true" et "WordRap=true"
du contrôle TextBox associé au "DataGridTexboxColumn" .
Cela devrait marcher, je ne l'ai pas testé. Ce qui sûr c'est qu'il est
possible de créer sa propre classe dérivée de "DataGridTexboxColumn" en
implémentant toutes les fonctionnalités voulue et/ou en surchargeant la
méthode "OnPaint()".
@+
"Benoit" <techedPASDESPAM@laposte.net> a écrit dans le message de
news:%23QOWT5A6EHA.3736@TK2MSFTNGP10.phx.gbl...
Bonjour,
Actuellement j'alimente un DataGrid avec un datatable que je crée
manuellement depuis des accès base.
Depuis visual Studio, j'ai définis le style de la table ainsi que les
colonnes associées au datagrid.
Lorsque je fais des tests, tout fonctionne correctement => mon datagrid
affiche correctement mes données, si ce n'est que maintenant j'ai des
infos
à afficher dans une cellule qui tiennent sur plusieurs lignes.
Je pense que la solution la plus simple est d'adapter la hauteur de la
ligne
concernée, mais je ne trouve pas comment je peux réaliser cette
opération..
De plus, est-il possible de parametrer la hauteur des lignes d'un datagrid
en "AUTOMATIQUE" ?
Cela devrait être possible en utilisant la classe "DataGridTexboxColumn" comme style de colonnes pour les champs concernés du dataGrid. Ensuite il faudrait gérer les propriétés "Multiline=true" et "WordRap=true" du contrôle TextBox associé au "DataGridTexboxColumn" . Cela devrait marcher, je ne l'ai pas testé. Ce qui sûr c'est qu'il est possible de créer sa propre classe dérivée de "DataGridTexboxColumn" en implémentant toutes les fonctionnalités voulue et/ou en surchargeant la méthode "OnPaint()".
@+
"Benoit" a écrit dans le message de news:%
Bonjour,
Actuellement j'alimente un DataGrid avec un datatable que je crée manuellement depuis des accès base. Depuis visual Studio, j'ai définis le style de la table ainsi que les colonnes associées au datagrid. Lorsque je fais des tests, tout fonctionne correctement => mon datagrid affiche correctement mes données, si ce n'est que maintenant j'ai des
infos
à afficher dans une cellule qui tiennent sur plusieurs lignes. Je pense que la solution la plus simple est d'adapter la hauteur de la
ligne
concernée, mais je ne trouve pas comment je peux réaliser cette
opération..
De plus, est-il possible de parametrer la hauteur des lignes d'un datagrid en "AUTOMATIQUE" ?
Merci pour toute information.
Benoit
Merci pour l'info, mais cela ne change pas la hauteur de ma ligne J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente manuellement la hauteur de la ligne dans le datagrid pour que je vois toutes les données associées à la cellule.
J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé (pour une appli winform)
Merci pour l'info, mais cela ne change pas la hauteur de ma ligne
J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente
manuellement la hauteur de la ligne dans le datagrid pour que je vois toutes
les données associées à la cellule.
J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé (pour
une appli winform)
Merci pour l'info, mais cela ne change pas la hauteur de ma ligne J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente manuellement la hauteur de la ligne dans le datagrid pour que je vois toutes les données associées à la cellule.
J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé (pour une appli winform)
Pierre TCHEKOUTEU [SELF-INFORMATIQUE]
c'est vrai, essaye de modifier la propriété "Height" du textbox situé dans ton DataGridTextBoxColumn. le problème est que cette hauteur sera la même pour toutes les lignes.
- il ne reste qu'à dériver la classe "DataGridTextBoxColumn". - surcharger la méthode OnPaint. - fixer une largeur standard pour les colonnes. - Utiliser Graphics.Measuring() pour mésurer la longueur du texte en fonction de la largeur standard de la colonne, - en définir un rectangle approprié dans chaque cas (doubler ou tripler la hauteur du rectangle selon la longueur du texte) - utiliser Graphics.DrawString(...) dans les rectangles appropriés.
si tu n'a pas trouvé d'ici demain, je t'enverrai un exemple de classe que j'ai utilisé dans les mêmes circonstances. Désolé je l'ai sur un autre pc qui n'est pas ici. (trop long pour tout retaper maintenant)
@+
"Benoit" a écrit dans le message de news:
Merci pour l'info, mais cela ne change pas la hauteur de ma ligne J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente manuellement la hauteur de la ligne dans le datagrid pour que je vois
toutes
les données associées à la cellule.
J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé (pour une appli winform)
c'est vrai,
essaye de modifier la propriété "Height" du textbox situé dans ton
DataGridTextBoxColumn.
le problème est que cette hauteur sera la même pour toutes les lignes.
- il ne reste qu'à dériver la classe "DataGridTextBoxColumn".
- surcharger la méthode OnPaint.
- fixer une largeur standard pour les colonnes.
- Utiliser Graphics.Measuring() pour mésurer la longueur du texte en
fonction de la largeur standard de la colonne,
- en définir un rectangle approprié dans chaque cas (doubler ou tripler la
hauteur du rectangle selon la longueur du texte)
- utiliser Graphics.DrawString(...) dans les rectangles appropriés.
si tu n'a pas trouvé d'ici demain, je t'enverrai un exemple de classe que
j'ai utilisé dans les mêmes circonstances.
Désolé je l'ai sur un autre pc qui n'est pas ici. (trop long pour tout
retaper maintenant)
@+
"Benoit" <techedPASDESPAM@laposte.net> a écrit dans le message de
news:u2jYNcC6EHA.260@TK2MSFTNGP10.phx.gbl...
Merci pour l'info, mais cela ne change pas la hauteur de ma ligne
J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente
manuellement la hauteur de la ligne dans le datagrid pour que je vois
toutes
les données associées à la cellule.
J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé (pour
une appli winform)
c'est vrai, essaye de modifier la propriété "Height" du textbox situé dans ton DataGridTextBoxColumn. le problème est que cette hauteur sera la même pour toutes les lignes.
- il ne reste qu'à dériver la classe "DataGridTextBoxColumn". - surcharger la méthode OnPaint. - fixer une largeur standard pour les colonnes. - Utiliser Graphics.Measuring() pour mésurer la longueur du texte en fonction de la largeur standard de la colonne, - en définir un rectangle approprié dans chaque cas (doubler ou tripler la hauteur du rectangle selon la longueur du texte) - utiliser Graphics.DrawString(...) dans les rectangles appropriés.
si tu n'a pas trouvé d'ici demain, je t'enverrai un exemple de classe que j'ai utilisé dans les mêmes circonstances. Désolé je l'ai sur un autre pc qui n'est pas ici. (trop long pour tout retaper maintenant)
@+
"Benoit" a écrit dans le message de news:
Merci pour l'info, mais cela ne change pas la hauteur de ma ligne J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente manuellement la hauteur de la ligne dans le datagrid pour que je vois
toutes
les données associées à la cellule.
J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé (pour une appli winform)
Benoit
Merci.
Il me semble avoir vu un tel exemple dans msdn. Sinon, pour l'instant, je laisse tomber, c'est encore trop complexe pour moi (je n'ai qu'une semaine de recul sur le c# et .Net). Je pensais que la datagrid était plus simple et plus convivial à utiliser (un peu comme le FlexGrid de l'époque), et ne pas avoir besoin de coder 200 lignes de codes pour simplement pouvoir augmenter la hauteur d'une ligne dans une grille...
"Pierre TCHEKOUTEU [SELF-INFORMATIQUE]" a écrit dans le message de news:
c'est vrai, essaye de modifier la propriété "Height" du textbox situé dans ton DataGridTextBoxColumn. le problème est que cette hauteur sera la même pour toutes les lignes.
- il ne reste qu'à dériver la classe "DataGridTextBoxColumn". - surcharger la méthode OnPaint. - fixer une largeur standard pour les colonnes. - Utiliser Graphics.Measuring() pour mésurer la longueur du texte en fonction de la largeur standard de la colonne, - en définir un rectangle approprié dans chaque cas (doubler ou tripler la hauteur du rectangle selon la longueur du texte) - utiliser Graphics.DrawString(...) dans les rectangles appropriés.
si tu n'a pas trouvé d'ici demain, je t'enverrai un exemple de classe que j'ai utilisé dans les mêmes circonstances. Désolé je l'ai sur un autre pc qui n'est pas ici. (trop long pour tout retaper maintenant)
@+
"Benoit" a écrit dans le message de news:
Merci pour l'info, mais cela ne change pas la hauteur de ma ligne J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente manuellement la hauteur de la ligne dans le datagrid pour que je vois
toutes
les données associées à la cellule.
J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé (pour une appli winform)
Merci.
Il me semble avoir vu un tel exemple dans msdn.
Sinon, pour l'instant, je laisse tomber, c'est encore trop complexe pour moi
(je n'ai qu'une semaine de recul sur le c# et .Net).
Je pensais que la datagrid était plus simple et plus convivial à utiliser
(un peu comme le FlexGrid de l'époque), et ne pas avoir besoin de coder 200
lignes de codes pour simplement pouvoir augmenter la hauteur d'une ligne
dans une grille...
"Pierre TCHEKOUTEU [SELF-INFORMATIQUE]" <ptchek@hotmail.com> a écrit dans le
message de news: OPfzu5C6EHA.2540@TK2MSFTNGP09.phx.gbl...
c'est vrai,
essaye de modifier la propriété "Height" du textbox situé dans ton
DataGridTextBoxColumn.
le problème est que cette hauteur sera la même pour toutes les lignes.
- il ne reste qu'à dériver la classe "DataGridTextBoxColumn".
- surcharger la méthode OnPaint.
- fixer une largeur standard pour les colonnes.
- Utiliser Graphics.Measuring() pour mésurer la longueur du texte en
fonction de la largeur standard de la colonne,
- en définir un rectangle approprié dans chaque cas (doubler ou tripler la
hauteur du rectangle selon la longueur du texte)
- utiliser Graphics.DrawString(...) dans les rectangles appropriés.
si tu n'a pas trouvé d'ici demain, je t'enverrai un exemple de classe que
j'ai utilisé dans les mêmes circonstances.
Désolé je l'ai sur un autre pc qui n'est pas ici. (trop long pour tout
retaper maintenant)
@+
"Benoit" <techedPASDESPAM@laposte.net> a écrit dans le message de
news:u2jYNcC6EHA.260@TK2MSFTNGP10.phx.gbl...
Merci pour l'info, mais cela ne change pas la hauteur de ma ligne
J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente
manuellement la hauteur de la ligne dans le datagrid pour que je vois
toutes
les données associées à la cellule.
J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé (pour
une appli winform)
Il me semble avoir vu un tel exemple dans msdn. Sinon, pour l'instant, je laisse tomber, c'est encore trop complexe pour moi (je n'ai qu'une semaine de recul sur le c# et .Net). Je pensais que la datagrid était plus simple et plus convivial à utiliser (un peu comme le FlexGrid de l'époque), et ne pas avoir besoin de coder 200 lignes de codes pour simplement pouvoir augmenter la hauteur d'une ligne dans une grille...
"Pierre TCHEKOUTEU [SELF-INFORMATIQUE]" a écrit dans le message de news:
c'est vrai, essaye de modifier la propriété "Height" du textbox situé dans ton DataGridTextBoxColumn. le problème est que cette hauteur sera la même pour toutes les lignes.
- il ne reste qu'à dériver la classe "DataGridTextBoxColumn". - surcharger la méthode OnPaint. - fixer une largeur standard pour les colonnes. - Utiliser Graphics.Measuring() pour mésurer la longueur du texte en fonction de la largeur standard de la colonne, - en définir un rectangle approprié dans chaque cas (doubler ou tripler la hauteur du rectangle selon la longueur du texte) - utiliser Graphics.DrawString(...) dans les rectangles appropriés.
si tu n'a pas trouvé d'ici demain, je t'enverrai un exemple de classe que j'ai utilisé dans les mêmes circonstances. Désolé je l'ai sur un autre pc qui n'est pas ici. (trop long pour tout retaper maintenant)
@+
"Benoit" a écrit dans le message de news:
Merci pour l'info, mais cela ne change pas la hauteur de ma ligne J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente manuellement la hauteur de la ligne dans le datagrid pour que je vois
toutes
les données associées à la cellule.
J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé (pour une appli winform)
Pierre TCHEKOUTEU [SELF-INFORMATIQUE]
Espérons que dans les prochaines version ce serait le cas. @+
"Benoit" a écrit dans le message de news:
Merci.
Il me semble avoir vu un tel exemple dans msdn. Sinon, pour l'instant, je laisse tomber, c'est encore trop complexe pour
moi
(je n'ai qu'une semaine de recul sur le c# et .Net). Je pensais que la datagrid était plus simple et plus convivial à utiliser (un peu comme le FlexGrid de l'époque), et ne pas avoir besoin de coder
200
lignes de codes pour simplement pouvoir augmenter la hauteur d'une ligne dans une grille...
"Pierre TCHEKOUTEU [SELF-INFORMATIQUE]" a écrit dans
le
message de news: > c'est vrai, > essaye de modifier la propriété "Height" du textbox situé dans ton > DataGridTextBoxColumn. > le problème est que cette hauteur sera la même pour toutes les lignes. > > - il ne reste qu'à dériver la classe "DataGridTextBoxColumn". > - surcharger la méthode OnPaint. > - fixer une largeur standard pour les colonnes. > - Utiliser Graphics.Measuring() pour mésurer la longueur du texte en > fonction de la largeur standard de la colonne, > - en définir un rectangle approprié dans chaque cas (doubler ou tripler
la
> hauteur du rectangle selon la longueur du texte) > - utiliser Graphics.DrawString(...) dans les rectangles appropriés. > > si tu n'a pas trouvé d'ici demain, je t'enverrai un exemple de classe
que
> j'ai utilisé dans les mêmes circonstances. > Désolé je l'ai sur un autre pc qui n'est pas ici. (trop long pour tout > retaper maintenant) > > @+ > > > "Benoit" a écrit dans le message de > news: >> Merci pour l'info, mais cela ne change pas la hauteur de ma ligne >> J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente >> manuellement la hauteur de la ligne dans le datagrid pour que je vois > toutes >> les données associées à la cellule. >> >> J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé
(pour
>> une appli winform) >> >> > >
Espérons que dans les prochaines version ce serait le cas.
@+
"Benoit" <techedPASDESPAM@laposte.net> a écrit dans le message de
news:uGV4DVD6EHA.1396@tk2msftngp13.phx.gbl...
Merci.
Il me semble avoir vu un tel exemple dans msdn.
Sinon, pour l'instant, je laisse tomber, c'est encore trop complexe pour
moi
(je n'ai qu'une semaine de recul sur le c# et .Net).
Je pensais que la datagrid était plus simple et plus convivial à utiliser
(un peu comme le FlexGrid de l'époque), et ne pas avoir besoin de coder
200
lignes de codes pour simplement pouvoir augmenter la hauteur d'une ligne
dans une grille...
"Pierre TCHEKOUTEU [SELF-INFORMATIQUE]" <ptchek@hotmail.com> a écrit dans
le
message de news: OPfzu5C6EHA.2540@TK2MSFTNGP09.phx.gbl...
> c'est vrai,
> essaye de modifier la propriété "Height" du textbox situé dans ton
> DataGridTextBoxColumn.
> le problème est que cette hauteur sera la même pour toutes les lignes.
>
> - il ne reste qu'à dériver la classe "DataGridTextBoxColumn".
> - surcharger la méthode OnPaint.
> - fixer une largeur standard pour les colonnes.
> - Utiliser Graphics.Measuring() pour mésurer la longueur du texte en
> fonction de la largeur standard de la colonne,
> - en définir un rectangle approprié dans chaque cas (doubler ou tripler
la
> hauteur du rectangle selon la longueur du texte)
> - utiliser Graphics.DrawString(...) dans les rectangles appropriés.
>
> si tu n'a pas trouvé d'ici demain, je t'enverrai un exemple de classe
que
> j'ai utilisé dans les mêmes circonstances.
> Désolé je l'ai sur un autre pc qui n'est pas ici. (trop long pour tout
> retaper maintenant)
>
> @+
>
>
> "Benoit" <techedPASDESPAM@laposte.net> a écrit dans le message de
> news:u2jYNcC6EHA.260@TK2MSFTNGP10.phx.gbl...
>> Merci pour l'info, mais cela ne change pas la hauteur de ma ligne
>> J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente
>> manuellement la hauteur de la ligne dans le datagrid pour que je vois
> toutes
>> les données associées à la cellule.
>>
>> J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé
Espérons que dans les prochaines version ce serait le cas. @+
"Benoit" a écrit dans le message de news:
Merci.
Il me semble avoir vu un tel exemple dans msdn. Sinon, pour l'instant, je laisse tomber, c'est encore trop complexe pour
moi
(je n'ai qu'une semaine de recul sur le c# et .Net). Je pensais que la datagrid était plus simple et plus convivial à utiliser (un peu comme le FlexGrid de l'époque), et ne pas avoir besoin de coder
200
lignes de codes pour simplement pouvoir augmenter la hauteur d'une ligne dans une grille...
"Pierre TCHEKOUTEU [SELF-INFORMATIQUE]" a écrit dans
le
message de news: > c'est vrai, > essaye de modifier la propriété "Height" du textbox situé dans ton > DataGridTextBoxColumn. > le problème est que cette hauteur sera la même pour toutes les lignes. > > - il ne reste qu'à dériver la classe "DataGridTextBoxColumn". > - surcharger la méthode OnPaint. > - fixer une largeur standard pour les colonnes. > - Utiliser Graphics.Measuring() pour mésurer la longueur du texte en > fonction de la largeur standard de la colonne, > - en définir un rectangle approprié dans chaque cas (doubler ou tripler
la
> hauteur du rectangle selon la longueur du texte) > - utiliser Graphics.DrawString(...) dans les rectangles appropriés. > > si tu n'a pas trouvé d'ici demain, je t'enverrai un exemple de classe
que
> j'ai utilisé dans les mêmes circonstances. > Désolé je l'ai sur un autre pc qui n'est pas ici. (trop long pour tout > retaper maintenant) > > @+ > > > "Benoit" a écrit dans le message de > news: >> Merci pour l'info, mais cela ne change pas la hauteur de ma ligne >> J'ai bien l'info sur plusieurs lignes, mais il faut que j'augmente >> manuellement la hauteur de la ligne dans le datagrid pour que je vois > toutes >> les données associées à la cellule. >> >> J'ai fais plusieurs recherches sur le net, mais je n'ai rien trouvé