我有一个包含数据的数据表。我需要将另一列添加到具有相同值的另一列,但精度较低的数据表。基于现有列将新列添加到数据表的最佳方法
即原来的列将是具有价值12.123 但新列将具有值12.12
什么是做到这一点的最好方法是什么?
我有一个包含数据的数据表。我需要将另一列添加到具有相同值的另一列,但精度较低的数据表。基于现有列将新列添加到数据表的最佳方法
即原来的列将是具有价值12.123 但新列将具有值12.12
什么是做到这一点的最好方法是什么?
做一个计算列,使您的数据的完整性未有违反
你可以看到这个article找出如何
一些网格实现,如DevExpress XtraGrid,允许您有未绑定的列并为其提供值。同样的事情会涉及到一些基本的DataGridView的黑客攻击,所以我还有其他建议。为您的课程添加一个新的只读属性: decimal value1 {get;组; } decimal value2 {get {return Math.Round(value1,2);} }} 这样你甚至不必担心列显示格式。
像这样的事情
yourDataTable.Columns.Add("newCol", typeof(double));
foreach (System.Data.DataRow row in yourDataTable.Rows)
{
row["newCol"] = Math.Round(Convert.ToDouble(row["oldCol"]), 2);
}
谢谢!我用你的例子来添加一个新的,非计算列到现有的表`sectionDS.Tables [0] .Columns.Add(“IPAddr”,typeof(long)); (DataRow row in sectionDS.Tables [0] .Rows){row [“IPAddr”] = 0x0100007F; }` – 2012-08-27 13:44:54
@JimLahman,很高兴它帮助.. – RameshVel 2012-08-30 06:23:04
Thanks..But我我没有将此数据表绑定到任何网格视图。 Iam只是使用这个进行一些计算,因此我不认为这个解决方案可以在这里工作。 – Ananth 2010-12-23 09:18:41