首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以在ASP.NET GridView中将布尔值转换为是/否吗

我可以在ASP.NET GridView中将布尔值转换为是/否吗
EN

Stack Overflow用户
提问于 2008-10-19 19:30:27
回答 8查看 103.2K关注 0票数 69

我有一个ASP.NET GridView,它的一个列映射到一个布尔值。我希望显示"Yes"/"No“而不是"True"/"False”。实际上我想要"Ja"/"Nej“(丹麦语)。

这个是可能的吗?

代码语言:javascript
运行
复制
<asp:gridview id="GridView1" runat="server" autogeneratecolumns="false">
    <columns>
        ...
        <asp:boundfield headertext="Active" datafield="Active" dataformatstring="{0:Yes/No}" />
        ...
    </columns>
</asp:gridview>
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-11-24 19:30:56

我在VB中使用了以下代码:

代码语言:javascript
运行
复制
<asp:TemplateField HeaderText="Active" SortExpression="Active">
    <ItemTemplate><%#IIf(Boolean.Parse(Eval("Active").ToString()), "Yes", "No")%></ItemTemplate>
</asp:TemplateField>

这应该适用于C# (未经测试):

代码语言:javascript
运行
复制
<asp:TemplateField HeaderText="Active" SortExpression="Active">
    <ItemTemplate><%# (Boolean.Parse(Eval("Active").ToString())) ? "Yes" : "No" %></ItemTemplate>
</asp:TemplateField>
票数 137
EN

Stack Overflow用户

发布于 2008-11-24 20:04:02

向页面类添加一个方法,如下所示:

代码语言:javascript
运行
复制
public string YesNo(bool active) 
{
  return active ? "Yes" : "No";
}

然后在您的TemplateField中使用以下方法进行Bind

代码语言:javascript
运行
复制
<%# YesNo(Active) %>
票数 16
EN

Stack Overflow用户

发布于 2008-10-19 19:39:50

不-但您可以使用模板列:

代码语言:javascript
运行
复制
<script runat="server">
  TResult Eval<T, TResult>(string field, Func<T, TResult> converter) {
     object o = DataBinder.Eval(Container.DataItem, field);
     if (converter == null) {
        return (TResult)o;
     }
     return converter((T)o);
  }
</script>

<asp:TemplateField>
  <ItemTemplate>
     <%# Eval<bool, string>("Active", b => b ? "Yes" : "No") %>
  </ItemTemplate>
</asp:TemplateField>
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/216833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档