DataGrid中将数据库中的1和0转换为“是”和“否”,如何实现?请高手作答!

qiuji 2003-08-13 07:59:24
数据库中有一个字段havepayed,其中的数值均为0或1
当用DataGrid显示时,怎样将1和0转换为“是”和“否”,而不是显示“1”和“0”。
...全文
155 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
PENAVICOYT 2003-08-14
  • 打赏
  • 举报
回复
<%# DataBinder.Eval(Container.DataItem, "vbool","'是','','否'") %>
qiuji 2003-08-14
  • 打赏
  • 举报
回复
to popcorn(米花), leojun(文隽):
你们所说的那个“[显示名]”是指什么?
chenxy2002 2003-08-14
  • 打赏
  • 举报
回复
有那么复杂吗,用guoyan19811021(吉祥) 的方法就可以了.我用过多少遍罗
好运 2003-08-14
  • 打赏
  • 举报
回复
select case when yourfield='0 then 否 else 是 end as 状态
redfoxhuang 2003-08-14
  • 打赏
  • 举报
回复
忘了,如下表
0 否
1 是
redfoxhuang 2003-08-14
  • 打赏
  • 举报
回复
逻辑层(业务层):这个方法大家都明白,程序判断
数据层:
1,存储过程
2,视图(建立一个2*2的新表,如下,然后和你的原表关联起来,读数据的时候读视图就行了)
其它的方法我接触不深


leojun 2003-08-14
  • 打赏
  • 举报
回复
选的时候就用SQL语句进行转换
select [显示名]=case [字段名] when 1 then '是' else '否' end from [数据表] where [条件]
赞成
wzhgsww 2003-08-14
  • 打赏
  • 举报
回复
强烈关注
guoyan19811021 2003-08-14
  • 打赏
  • 举报
回复
For i = 0 To (c - 1)

lbluserstyle = Nothing

lbluserstyle = e.Item.Cells(3).FindControl("label2")

If e.Item.Cells(3).Text = "0" Then

e.Item.Cells(3).Text = "是"

ElseIf e.Item.Cells(3).Text = "1" Then

e.Item.Cells(3).Text = "否"

End If
next
Frankeny 2003-08-14
  • 打赏
  • 举报
回复
在DataGrid中加一模板列:
<asp:CheckBox id=".." runat="server" checked='<%#DataBinder.Eval(Container.DataItem, "vbool").ToString()=="1"%>'/>
这样的话,
如果是1就是checked(选中),0就是不选中。

把CommandType设为select后可以通过selectindexchang()事件修改并回写0,1标志。

可以通过ItemCreate方法把在重新刷新的时候是1的行特殊显示:如变底色,字色,大小。
我刚刚实现了此功能,
通过设置模板的visual属性可以控制checkbox列的隐藏显示。

qiuji 2003-08-14
  • 打赏
  • 举报
回复
我已经解决了,谢谢各位!
现在结贴!
ayine 2003-08-13
  • 打赏
  • 举报
回复
gz
sshwsfc 2003-08-13
  • 打赏
  • 举报
回复
建议使用<%# fixword(DataBinder.Eval(Container.DataItem, "vbool").ToString()) %>
function fixword(text as string) as string
处理
end function
这样的话不管是什么,都能转换成想要的样子
szwebnet 2003-08-13
  • 打赏
  • 举报
回复
<%# DataBinder.Eval(Container.DataItem, "vbool").ToString()=="1"?"是":"否" %>
popcorn 2003-08-13
  • 打赏
  • 举报
回复
选的时候就用SQL语句进行转换
select [显示名]=case [字段名] when 1 then '是' else '否' end from [数据表] where [条件]
knightufp 2003-08-13
  • 打赏
  • 举报
回复
以前试过过在 databind事件中手动判断然后改变cell中的文字
SeeSunSet 2003-08-13
  • 打赏
  • 举报
回复
两种办法,一种在前台<%#iif(DataBinder.Eval(container.dataitem,"IsCheck")=1,是,否)%>
二种:在数据源的SQL里转换,
ischeck=case when ischeck=1 then '是' else '否' end
loulanlouzhu 2003-08-13
  • 打赏
  • 举报
回复
比如dataset1里面是01

做一个转换--》是否

加到dataset2中

绑定
Forgetying 2003-08-13
  • 打赏
  • 举报
回复
中国铁道出版社有一个本书
SQL Server 2000
完全实战———数据转换服务(DTS)
这本书对数据的处理讲解的比较全面!
loulanlouzhu 2003-08-13
  • 打赏
  • 举报
回复
我的想法!

---》
在你取出数据后,将0,1转换成是否,然后重构造一个dataset,
加载更多回复(6)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧