我的表(varchar)中有一个包含日期和字符串的列,名为 DateColumn,我想将其显示为日期以便能够按日期过滤。我首先尝试使用 GetData(DateColumn) 创建一个带有 unboundexpression 的未绑定列,并且它起作用了,所有带有日期的字符串都转换为日期,另一个是#Err。我能够按日期过滤。但我想控制这些#Err:它是空的?它的“其他字符串”?还是其他的?所以我尝试了 CustomUnboundColumnData 函数:
Try
value = Date.Parse(view.GetListSourceRowCellValue(listSourceRowIndex, columna))
Catch ex As Exception
If IsDBNull(view.GetListSourceRowCellValue(listSourceRowIndex, columna)) Then
value = DBNull.Value
Else
If view.GetListSourceRowCellValue(listSourceRowIndex, columna) = "" Then
value = DBNull.Value
ElseIf view.GetListSourceRowCellValue(listSourceRowIndex, columna) = "otherstring" Then
value = "#otherstring"
Else
value = "#Err"
End If
End If
End Try
但是现在当我尝试按值(按日期)过滤时,出现错误:
无法比较数组中的两项。: System.ArgumentException: 对象必须是字符串类型。
如果我替换 DBNull.Value 的“#Err”和“#otherstring”,它会再次起作用。但我需要能够放置其他字符串。