我想在 PendingApproval 值上设置可见性打开或关闭,但在数据库中 PendingApprovalfield 允许 null true 所以我得到错误这里是代码
我收到此错误从“DBNull”类型到“Integer”类型的转换无效。
style="margin-left:6px; margin-top:auto; display:<%# IIf(CTYPE(Eval("PendingApproval"),Integer) = 1, "block", "none")%>"
尝试这个。我假设如果该值为 NULL 则需要设置可见性
style="margin-left:6px; margin-top:auto; display:<%# IIf(Eval("PendingApproval")=DBNull.value,"none", IIf(Eval("PendingApproval") = 1, "block", "none"))%>"
一个建议,在用于提取报告的查询中,您可以应用 ISNULL() 函数,如下所示:
SELECT col1, ISNULL(PendingApproval,0), ..., coln FROM TABLE1
通过这种方式,您将获得 NULL 的值 0 并且您的旧代码将运行良好,无需比较 DBNull.value
为防止该错误,您尝试此..
style="margin-left:6px; margin-top:auto; display:<%#Iif(Eval("PendingApproval") Is Null,"none",IIf(CTYPE(Eval("PendingApproval"),Integer) = 1, "block", "none"))%>"