【问题标题】:Best way to add a new column to a data table based on an existing column基于现有列向数据表添加新列的最佳方法
【发布时间】:2010-12-23 08:59:30
【问题描述】:

我有一个包含数据的数据表。我需要向数据表中添加另一列,该列与另一列具有相同的值但精度较低。

即原始列的值为 12.123 但新列的值为 12.12

最好的方法是什么?

【问题讨论】:

    标签: c# .net datacolumn system.data.datatable


    【解决方案1】:

    类似的东西

                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)); foreach (DataRow row in sectionDS.Tables[0].Rows) { row["IPAddr"] = 0x0100007F; }
    【解决方案2】:

    一些网格实现,例如 DevExpress XtraGrid,允许您拥有未绑定的列并轻松地为它们提供值。同样的事情会涉及对基本 DataGridView 的一些黑客攻击,所以我有另一个建议。向您的类添加一个新的只读属性: 十进制值1 { 得到;放; } 十进制值2 { 得到 { 返回 Math.Round(value1, 2); } } 这样您甚至不必为列显示格式而烦恼。

    【讨论】:

    • 谢谢..但是我没有将此数据表绑定到任何网格视图。我只是将它用于一些计算,因此我认为这个解决方案在这里不起作用。
    猜你喜欢
    • 1970-01-01
    • 2014-07-16
    • 2017-01-11
    • 2011-05-17
    • 2021-07-14
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 2021-08-05
    相关资源
    最近更新 更多