我有一个n列和数据表的数据表我正在将它转换为Pivot。
我已经有一段代码用于将其转换为Pivot,参考:
Adding Sum per row in PIVOT using LINQ
现在当有一个包含空值的列时会出现问题。
以下行失败并显示错误
dtPivot.PrimaryKey = dtPivot.Columns.Cast<DataColumn>().ToArray();
Error : Column 'x' has null values in it.
任何人都可以帮助我,如何处理......
答案 0 :(得分:0)
首先,我要看一下究竟是什么导致了这个问题。
在该行前添加断点,并查看dtPivot.Columns
中包含的项目(您可以尝试使用ToArray()
)。
是否有null
项或有null
属性导致问题的项目?您可以通过在调试窗口中使用watch来尝试将项目从dtPivot.Columns
手动转换为DataColumn
,并查看哪些项目会抛出错误(以及可能为什么会抛出错误)。
如果错误是因为dtPivot.Columns
中的某些项目是null
,那么您可以先尝试使用Cast<object>().Where(o => o != null)
过滤掉它们。如果错误是因为属性是null
,那么看看是否还有其他任何东西你可以先将列强制转换,然后尝试过滤列(或填写缺失的值,如果需要的话)