La meilleure façon d'ajouter une nouvelle colonne à une table de données à partir d'une colonne existante

StackOverflow https://stackoverflow.com/questions/4517186

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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top