ratsimisampy
Messages postés37Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention 4 mai 2006
-
17 nov. 2005 à 11:03
ratsimisampy
Messages postés37Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention 4 mai 2006
-
24 nov. 2005 à 17:30
bonjour
voici mon pbm:
Jai une dataset que jaffiche dans une datagrid, pas de soucis.
Ensuite,je voudrais que pour les lignes dont ,par exemple, un champ spécifié nest pas renseigné,
la couleur de la ligne concernée soit différente des autres.
autre explication : par ex, je voudrai afficher en rouge les commandes qui nont pas été facturées.
auriez vous une idée ou une indicaion à me donner?
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 17 nov. 2005 à 11:13
Voila un exemple(en vb.Net) qui montre comment customizer son Datagrid afin de faire ce que tu souhaites.
Si tu peux te permettre d'utiliser du .Net 2, alors tu pourrais utiliser un DataGridView, qui permet de faire ca beaucoup plus facilement
ratsimisampy
Messages postés37Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention 4 mai 2006 24 nov. 2005 à 09:43
bonjour et merci pour ta réponse,
j'ai donc un code interressant qui permet de colorer les cellules particulières dun datagrid (que je pourrai exploiter par la suite). c'est une classe qui hérite de la classe datagridtextboxcolumn avec un override sur la méthode paint. l'ennui c'est que je ne sais pas comment intégrer cette classe et utiliser la propriété colorée des cellule dans mon projet
public class DataGridColoredTextBoxColumn : DataGridTextBoxColumn
ratsimisampy
Messages postés37Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention 4 mai 2006 24 nov. 2005 à 13:23
bonjour et merci pour ta réponse,j'ai donc un code interressant qui permet de colorer les cellules particulières dun datagrid (que je pourrai exploiter par la suite). c'est une classe qui hérite de la classe datagridtextboxcolumn avec un override sur la méthode paint. l'ennui c'est que je ne sais pas comment intégrer cette classe et utiliser la propriété colorée des cellule dans mon projet
public class DataGridColoredTextBoxColumn : DataGridTextBoxColumn
{
protected override void Paint(System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Brush backBrush, System.Drawing.Brush foreBrush, bool alignToRight)
{
// the idea is to conditionally set the foreBrush and/or backbrush
// depending upon some crireria on the cell value
// Here, we color anything that begins with a letter higher than 'F'
try
{
object o = this.GetColumnValueAtRow(source, rowNum);
if( o!null) { char c ((string)o)[0];
if( c > 'F')
{ // could be as simple as
// backBrush = new SolidBrush(Color.Pink);
// or something fancier...
backBrush new LinearGradientBrush(bounds, Color.FromArgb(255, 200, 200), Color.FromArgb(128, 20, 20), LinearGradientMode.BackwardDiagonal); foreBrush new SolidBrush(Color.White);
}
} }
catch(Exception ex)
{ /* empty catch */ }
finally
{
// make sure the base class gets called to do the drawing with
// the possibly changed brushes