请教一个关于DataGridView的问题 请教一个关于DataGridView的问题:数据库中读取的值为“0”和“1”,绑定到DataGridView后,那一列要求将“0”显示为“未启用”“1”显示为“已启用”。代码中要怎么设置呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用模板列 <asp:TemplateColumn HeaderText="出生日期"> <ItemTemplate> <asp:Label Text='<%# StateConvert(((DataRowView)Container.DataItem)["MISFIELD001A12"].ToString()) %>' Runat="server"> </asp:Label> </ItemTemplate> </asp:TemplateColumn> cs代码里这样写 protected string StateConvert(string str) { switch (str.Trim()) case "0": return "未启用"; break; case "1" return "已启用"; break; default: return "为空"; break; } 模板列也可以写成这样的<asp:TemplateColumn HeaderText="出生日期"><ItemTemplate><asp:Label Text='<%# StateConvert(DataBinder.Eval(Container, "DataItem.姓名").ToString()) %>' Runat="server"></asp:Label></ItemTemplate></asp:TemplateColumn>cs代码protected string StateConvert(string str){switch (str.Trim())case "0":return "未启用";break;case "1"return "已启用";break;default:return "为空";break;} 作判断if(列.text.trim 0){} 没有写完if(列.text.trim == 0){ 列.text = "未启用"}else{ 列.text = "已启用"} 不好意思,忘了说一下,是WinForm里的! swith(Eval("你的字段名")){ case 0:"已启用";break;case 1:"未启用";break;}这样就OK了 高效的方法是取出时就直接用case语句把0和1转换成你要显示的文本,还有个低效的方法是把列改为DataGridViewComboBoxColumn,然后建一个完成0-未启用,1-已启用的映射关系的DataTable,然后指定这个Column的DisplayMember属性和ValueMember属性到这个表的两个字段,并设DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing; 还有一种方法,更改SQL语句:select customerid,customername,case when usestatus = 0 then '未启用' when usestatus = 1 then '已启用' end from customers 关于面部识别技术 outlook 发邮件的事 20090807新手求助 VS2008 GridView的智能小窗口中没有“启用编辑”和“启用删除”选项?? 如何返回一个泛类型的数据 如何屏蔽日文的输入 同样的查询字符串,IE地址栏提交有效,在WebClient.OpenRead中提交无效,为什么? "请求因 HTTP 状态 401 失败:Access Denied。 "这是什么问题? 500分征集DevExpress for .net 系列控件之(提供FPT者请进!) 讨论一下这个有什么方法可以兼容? 点对点的发送文件问题? treeview如何返回选中节点的ID号
<asp:TemplateColumn HeaderText="出生日期">
<ItemTemplate>
<asp:Label Text='<%# StateConvert(((DataRowView)Container.DataItem)["MISFIELD001A12"].ToString()) %>' Runat="server">
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
cs代码里这样写
protected string StateConvert(string str)
{
switch (str.Trim())
case "0":
return "未启用";
break;
case "1"
return "已启用";
break;
default:
return "为空";
break;
}
<ItemTemplate>
<asp:Label Text='<%# StateConvert(DataBinder.Eval(Container, "DataItem.姓名").ToString()) %>' Runat="server">
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>cs代码
protected string StateConvert(string str)
{
switch (str.Trim())
case "0":
return "未启用";
break;
case "1"
return "已启用";
break;
default:
return "为空";
break;
}
if(列.text.trim 0)
{}
if(列.text.trim == 0)
{
列.text = "未启用"
}
else
{
列.text = "已启用"
}
这样就OK了
还有个低效的方法是把列改为DataGridViewComboBoxColumn,然后建一个完成0-未启用,1-已启用的映射关系的DataTable,然后指定这个Column的DisplayMember属性和ValueMember属性到这个表的两个字段,并设DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
select customerid,customername,case when usestatus = 0 then '未启用' when usestatus = 1 then '已启用' end from customers