我有一个n列的数据表&我要把它转换成Pivot
我已经有一段代码将其转换为Pivot,参考:
使用LINQ在PIVOT中每行添加Sum
现在问题来了,当有一个列的空值。
下一行出错
dtPivot.PrimaryKey = dtPivot.Columns.Cast<DataColumn>().ToArray();
Error : Column 'x' has null values in it.
有谁能帮我处理这个问题吗?
我首先要看看究竟是什么导致了这个问题。
在行前添加一个断点,并查看dtPivot.Columns
中包含哪些项(您可以尝试使用ToArray()
)。
是否存在null
或null
属性的项目导致问题?你可以通过使用调试窗口中的监视来检查这一点,尝试将一个项目从dtPivot.Columns
手动转换为DataColumn
,并查看哪些会抛出错误(以及可能的,为什么会抛出错误)。
如果错误是因为dtPivot.Columns
中的一些项目是null
,那么您可以尝试先使用Cast<object>().Where(o => o != null)
过滤它们。如果错误是因为属性是null
,那么看看是否没有其他可以将列强制转换为的东西,然后尝试过滤列(或填写缺失的值,如果需要的话)。