2

我有一个包含 n 列的数据表,并且正在将其转换为 Pivot。

我已经有一段代码可以将其转换为 Pivot,参考:

使用 LINQ 在 PIVOT 中添加每行总和

现在问题来了,其中有一列包含空值。

以下行因错误而失败

dtPivot.PrimaryKey = dtPivot.Columns.Cast<DataColumn>().ToArray();

Error : Column 'x' has null values in it.

谁能帮帮我,如何处理这个...

4

1 回答 1

0

我会先看看究竟是什么导致了这个问题。

在行前加个断点,看看里面包含了哪些项目dtPivot.Columns(可以尝试使用ToArray())。

是否存在或是否存在具有导致问题的null属性的项目?null您可以通过使用调试窗口中的手表来检查这一点,尝试将项目从dtPivot.Columns手动转换为DataColumn,并查看哪些引发错误(以及可能,为什么它们会引发错误)。

如果错误是因为其中的某些项目dtPivot.Columnsnull,那么您可以尝试先使用过滤掉它们Cast<object>().Where(o => o != null)。如果错误是因为属性是null,那么看看是否没有其他可以将列转换为的内容,然后尝试过滤列(或填写缺失值,如果需要)。

于 2013-01-09T13:22:25.740 回答