Comment pourrais-je (/est-il possible) d'ajouter une colonne personnalisée à mon DataView, et dans cette colonne afficher le résultat d'un calcul spécifique.
En d'autres termes, j'ai actuellement un dataGridView qui a une liaison avec un DataView, basé sur le DataTable de ma base de données. J'aimerais ajouter une colonne supplémentaire à la dataGridView pour afficher un nombre calculé à partir de la ligne actuelle et de ses enfants. En d'autres termes, les informations de la colonne ne sont pas simplement dérivées des données de la ligne elle-même.
Des questions spécifiques pourraient être : a) où ajouter la colonne elle-même ? dans le DataView je suppose ? b) à partir de quelle méthode/événement déclencher le re-calcul de la valeur de cette colonne personnalisée ( / comment puis-je contrôler cela) ?
Gracias
PS. J'ai également remarqué que si j'utilise le code/approche suivant, j'obtiens une boucle infinie...
// Custom Items
DataColumn dc = new DataColumn("OverallSize", typeof(long));
DT_Webfiles.Columns.Add(dc);
DT_Webfiles.RowChanged += new DataRowChangeEventHandler(DT_Row_Changed);
private static void DT_Row_Changed(object sender, DataRowChangeEventArgs e)
{
e.Row["OverallSize"] = e.Row["OverallSize"] ?? 0;
e.Row["OverallSize"] = (long)e.Row["OverallSize"] + 1;
}
Quelle autre approche pourrait éviter cette boucle ? Par exemple, actuellement, je dis que la valeur de la colonne personnalisée est mise à jour lorsque la ligne change, mais après avoir changé la ligne, cela déclenche un autre événement "la ligne a changé"...