我有一个名为 IsApproved
的列,其数据类型为 tblUser
(SQL Server 2008) 中的 bit
现在我需要将记录从表加载到datagridview
,我这样做了,但在我看来,这个IsApproved
字段作为checkboxes
可见,如下所示
在我的数据库表行中具有值IsApproved=true
,然后在datagridview
中选中复选框,并且在其中取消选中IsApproved=false
thien复选框,如下所示见过。
所以现在我想以特殊的方式展示这一点
如果 IsApproved=true
则显示“已批准”以代替选中的复选框
和
如果IsApproved=false
则显示UnApproved而不是未选中的复选框
我从 Bit datatype to enum type mapping from database to dataset in SQL Server 2008 获得了此功能
在 SQL 查询中,但在这个语句中它给我错误 关键字“FROM”附近的语法不正确。
SELECT CASE WHEN IsApproved = CAST(0 AS BIT) THEN 'UnApproved' ELSE 'Approved' FROM tblUser
我想要这个解决方案在 SQL 查询或 datagridview CellFormatting 中..
我需要你们的帮助来解决这个问题...提前致谢
最佳答案
SQL查询失败的原因是你需要END你的CASE语句。
此外,CAST 不是必需的,您应该将 CASE 结果分配给列名称。
这应该有效:
SELECT IsApproved = (CASE WHEN IsApproved = 0 THEN 'UnApproved' ELSE 'Approved' END) FROM tblUser
尽管在大多数情况下使用 CellFormatting 可能是更好的解决方案,但这当然可行。
关于c# - 如何在 datagridview C# 中格式化位数据类型列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31722177/