【问题标题】:Datatable Compute Function for multiple columns多列数据表计算函数
【发布时间】:2009-02-26 08:50:24
【问题描述】:

我想计算数据表中每列非空值的数量。我可以遍历列并在每列上使用计算函数,但我想知道是否有更有效的方法来执行此操作。

【问题讨论】:

    标签: asp.net datatable


    【解决方案1】:

    您可以添加一个带有检查其余列是否为空的表达式的列,请参阅http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression(VS.80).aspx 然后您可以在该列上计算。

    【讨论】:

      【解决方案2】:

      我认为 Compute 功能在这种情况下非常合适。您可以使用类似于以下的代码:

      For Each col as DataColumn in myTable
        Dim aggExpr as string = string.format("Count{0}", col.ColumnName)
        Dim filterExpr as string = string.format("{0} IS NULL", col.ColumnName)
        Dim myCount as integer = CInt(myTable.Compute(aggExpr, filterExpr))
        Console.WriteLine(myCount)
      Next
      

      (在这里输入,注意语法)

      请注意,我说的是“类似于以下”。请添加适当的错误/空值检查。

      【讨论】:

      • 谢谢,但这是我们已经在做的事情。我正在寻找不需要遍历所有列的东西
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多