Changer la couleur d'une ligne datagridview
Ritus
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis en stage et je travaille avec ASP.NET, je veux changer la couleur d'une ligne de mon tableau en fonction d'un état, càd si l'état est confirmé la couleur de ligne devient vert, si l'état est annulé la couleur de la ligne devient rouge...
Voici mon code :
Merci pour votre aide!
Merci d'y penser dans tes prochains messages.
Je suis en stage et je travaille avec ASP.NET, je veux changer la couleur d'une ligne de mon tableau en fonction d'un état, càd si l'état est confirmé la couleur de ligne devient vert, si l'état est annulé la couleur de la ligne devient rouge...
Voici mon code :
protected void GridPlanning_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
// 1 - Récupération de la couleur
GridDataItem vobj_GridDataItem = (GridDataItem)e.Item;
TableCell vobj_TableCellColor = (TableCell)(vobj_GridDataItem["M02_COULEUR"]);
string vstr_HtmlHexColorValue = string.Empty;
// 2 - Convertion de la couleur OLE en HTML
if(System.Convert.ToInt32(ConvertDBNull(vobj_TableCellColor.Text, typeof(int))) == 0)
{
vstr_HtmlHexColorValue = "white";
}
vstr_HtmlHexColorValue = ColorTranslator.ToHtml(ColorTranslator.FromOle((ConvertDBNull(vobj_TableCellColor.Text, typeof(int)))));
foreach (TableCell cell in e.Item.Cells)
{
vobj_TableCellColor.Rows[TableCell].BackColor = System.Drawing.Color.Red;
}
protected void grid_Planning_PreRender(object sender, EventArgs e)
{
// Affichage des tailles de colonnes personnalisées
DataSet vobj_DS = new DataSet();
var vstr_SQL = string.Format("SELECT C24_NOM, C24_TAILLE FROM CFG_PLANNING_CALENDRIER_C24 WHERE C24_TAILLE > 10 AND C24_USER_C18=" + gint_IdUser);
vobj_DS = MdGlobalAccess.GetDS(pstrSQL: vstr_SQL);
foreach (DataRow item in vobj_DS.FirstTableRows())
{
string vstrColumnName = ConvertDBNull(item["C24_NOM"], typeof(string));
int vintColumnWidth = ConvertDBNull(item["C24_TAILLE"], typeof(int));
// On cherche par HeaderText et non pas via FindByUniqueName à cause des colonnes calculées
foreach (GridColumn Column in grid_Planning.MasterTableView.Columns)
{
if (Column.HeaderText == vstrColumnName)
{
}
}
}
}
Merci pour votre aide!
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
Merci d'y penser dans tes prochains messages.
A voir également:
- Changer la couleur d'une ligne datagridview
- Changer dns - Guide
- Partager photos en ligne - Guide
- Changer la couleur de la barre des taches - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
1 réponse
Bonjour
D’abord, merci à Edouard d’avoir rendu ton code lisible, voir https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code comment faire pour tes prochains messages.
Je ne fais pas d’ASP, mais du C#, oui, donc la relation avec l’interface te laisse faire.
Pour le reste, ceci est il le test pour sacoir de quelle couleur est le fond?
D’abord, merci à Edouard d’avoir rendu ton code lisible, voir https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code comment faire pour tes prochains messages.
Je ne fais pas d’ASP, mais du C#, oui, donc la relation avec l’interface te laisse faire.
Pour le reste, ceci est il le test pour sacoir de quelle couleur est le fond?
if(System.Convert.ToInt32(ConvertDBNull(vobj_TableCellColor.Text, typeof(int))) == 0)?