Bonjour, voila j'ai un petit soucis au niveau d'une colonne personnalisée.

Ma datagrid a comme datasource une datatable (qui vient d'une base de données).
Ma colonne doit contenir en tant que valeur un int et afficher une string.

Pour etre plus clair les valeurs sont des secondes que je doit afficher dans le format suivant MMM:SS (donc minutes + secondes)

J'ai une classe personnalisé pour mon datagrid et j'y ai rajouté le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
            protected override void OnCellFormatting(DataGridViewCellFormattingEventArgs e)
            {
                int rowIndex = e.RowIndex;
                int colIndex = e.ColumnIndex;
 
 
                if(this.Columns[colIndex].GetType() == typeof(DurationCustomColumn2))
                {
 
                    object val = this.Rows[rowIndex].Cells[colIndex].Value;
                    if (val != DBNull.Value)
                    {
                        e.Value = Functions.IntToDuration(Convert.ToInt32(val));
                        e.FormattingApplied = true;
                    }
                    else
                    {
                        e.FormattingApplied = false;
                    }
                }
                else
                {
                    base.OnCellFormatting(e);
                }
            }
ça fonctionne comme je veux, me valeurs sont affichées correctement. Mon probleme se situe au niveau dela modification, si je tape un caractere non autorisé (une lettre par exemple) j'obtient une erreur comme quoi ce n'est pas un int etc..., je veux pouvoir empecher cette erreur de s'afficher et qu'il y ai a la place une bulle rouge avec un texte d'erreur (propriete errorText de la cellule), mais je ne sais pas comment faire !!!
Ps: au niveau de la cellule, il faut pouvoir marquer n'importe koi, faut juste que l'utilisateur finale voit que c'est faut (pas de messageBox)?