【问题标题】:How to make totals of the datatable cells and construct a new column in that datatable?如何对数据表单元格进行总计并在该数据表中构造一个新列?
【发布时间】:2011-02-15 20:44:08
【问题描述】:

数据表一共有三列

Amount Commission Others
1000   200        100
2000   100        200

现在我想根据这三列名称totalAmount 构建另一列,即这三列的总和,就像列将是

totalAmount
1300
2300

我得到了Amount,Commission and Others 三列的记录,并且基于这些列,我需要在该数据表中添加一个新列。我们可以手动获取并总计并在该数据表中添加一个新列,但是存在还有其他好的短途方法吗?

【问题讨论】:

    标签: c# winforms datatable datacolumn


    【解决方案1】:

    查看DataColumn.Expression 属性。

    您可以在表格中添加一个新的数据列,并将其表达式设置为“金额 + 佣金 + 其他”。它将在运行时计算。

    【讨论】:

    • @Matt Hamilton,这是否也只添加列或记录?
    • 它不会添加记录。这是一个使用其他列计算其值的列。您将获得每个现有行的新值。
    • 真的吗? TableExtractedFromFile.Columns.Add("totalAmount", typeof(int), "Amount + Commission + Others"); ?
    • 您是在填充表格之前还是之后执行此操作?老实说,我什至不记得这是否重要。好多年没用过DataTable了。
    • @Matt Hamilton,它有效。但是如果我确实喜欢有三列 A、B 和 C。现在如果我这样做 table.columns["A"].expression = "A+B+C"; 那么它会给出错误,如 由于表达式中的循环引用而无法设置表达式属性。 那么什么是解决方案?
    猜你喜欢
    • 2021-10-19
    • 2021-10-18
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 2015-05-14
    • 2021-12-21
    • 2019-11-30
    相关资源
    最近更新 更多