【标题】DataGrid 绑定定制的列

【需求】
1、数据库中有张表lxt_User_Product,表中有个字段audited表示是否审核: 0-未审核 1-已审核
2、在绑定DataGrid时,如果列的值为0,则显示未审核,1显示已审核


【解决方法】
1、在数据库中处理:在数据库中定义函数 changeState,等于0返回未审核,1返回已审核

数据库中定义的函数:

CREATE FUNCTION changeState (@state int )
RETURNS varchar(8)
AS

BEGIN
Declare @_temp varchar(8)

if @state=0
set @_temp= '未审核'
else
set @_temp= '已审核'

return @_temp

END

然后,使用SQL命令查询
select dbo.changeState(audited) as state from lxt_User_Product

在.NET中直接绑定定制(或转换)的列state就可以了。

2、.NET中处理:在DataTable对象中增加临时列

假设已经获得了 DataTable对象dt,下面是增加临时列的代码

foreach(DataRow dr in dt.Rows)
{
if (dr["audited"].Tostring=="0")
dr["state"] ="未审核"; //编码:HttpUtility.UrlEncode("未审核");
else
dr["state"] ="已绑定"; //编码: HttpUtility.UrlEncode("已绑定");
}

在DataGrid中绑定列state即可。

posted on 2007-05-03 09:15  站在天空下的猪  阅读(175)  评论(0编辑  收藏  举报