La meilleure façon d'ajouter une nouvelle colonne à une table de données à partir d'une colonne existante
-
12-10-2019 - |
Question
J'ai un tableau de données avec des données. Je dois ajouter une autre colonne à datatable ayant la même valeur d'une autre colonne, mais avec moins de précision.
Ie la colonne originale serait d'avoir la valeur 12,123 mais la nouvelle colonne aura une valeur 12,12
Quelle est la meilleure façon de le faire?
La solution
Faire un colonne calculée afin que votre intégrité des données n'a jamais violé
Vous pouvez voir cette article pour savoir comment
Autres conseils
Quelque chose comme ceci
yourDataTable.Columns.Add("newCol", typeof(double));
foreach (System.Data.DataRow row in yourDataTable.Rows)
{
row["newCol"] = Math.Round(Convert.ToDouble(row["oldCol"]), 2);
}
Certaines implémentations de réseau, comme DevExpress XtraGrid, vous permettent d'avoir des colonnes non liées et de fournir facilement les valeurs pour eux. La même chose impliquerait le piratage avec une certaine DataGridView de base, donc j'ai une autre suggestion. Ajouter une nouvelle propriété en lecture seule à votre classe: valeur1 décimal {get; ensemble; } décimal valeur2 {get {return Math.Round (valeur1, 2); }} De cette façon, vous n'avez même pas pris la peine avec le format d'affichage de la colonne.