SQL查询:
SELECT * FROM USERS
结果是:
ID USERNAME AUTH
-- --------- -----
1 USER_A 1
2 USER_B 2
3 USER_C 2
4 USER_D 3
Auth专栏的含义:
我可以从Sql Server接收数据到DataGridView。
但我想在DataGridView上显示:
我该怎么做?感谢。
答案 0 :(得分:2)
只需更改您的SQL查询以带来其他说明列,例如
SELECT
auth,
CASE
WHEN auth = 1 THEN
'SuperAdmin'
WHEN auth = 2 THEN
'Admin'
WHEN auth = 3 THEN
'User'
/* can add an optional Else clause */
END CASE as description
FROM yourTable
WHERE ...
绑定到gridView时,绑定到刚刚创建的“description”列
答案 1 :(得分:0)
为AUTH
创建新的查找表:
AUTH DESCRIPTION
-----------------
1 SuperAdmin
2 Admin
3 User
然后JOIN
到它:
SELECT u.*, a.DESCRIPTION
FROM USERS u
INNER JOIN AUTH a on u.AUTH = a.AUTH
否则,请在代码中使用enum
来存储这些值以及说明。
public enum AUTH
{
[Description("Super Admin")]
SuperAdmin = 1,
[Description("Admin")]
Admin = 2,
[Description("User")]
User = 3
};
这两种解决方案都会删除隐藏意义的神奇数字。
答案 2 :(得分:0)
如果要在GUI而不是SQL查询中执行此操作,可以使用DataGridView
的{{1}}事件。
这是一个例子:
CellFormatting