我有一个ASP.NET GridView
,它的一个列映射到一个布尔值。我希望显示"Yes"/"No“而不是"True"/"False”。实际上我想要"Ja"/"Nej“(丹麦语)。
这个是可能的吗?
<asp:gridview id="GridView1" runat="server" autogeneratecolumns="false">
<columns>
...
<asp:boundfield headertext="Active" datafield="Active" dataformatstring="{0:Yes/No}" />
...
</columns>
</asp:gridview>
发布于 2008-11-24 19:30:56
我在VB中使用了以下代码:
<asp:TemplateField HeaderText="Active" SortExpression="Active">
<ItemTemplate><%#IIf(Boolean.Parse(Eval("Active").ToString()), "Yes", "No")%></ItemTemplate>
</asp:TemplateField>
这应该适用于C# (未经测试):
<asp:TemplateField HeaderText="Active" SortExpression="Active">
<ItemTemplate><%# (Boolean.Parse(Eval("Active").ToString())) ? "Yes" : "No" %></ItemTemplate>
</asp:TemplateField>
发布于 2008-11-24 20:04:02
向页面类添加一个方法,如下所示:
public string YesNo(bool active)
{
return active ? "Yes" : "No";
}
然后在您的TemplateField
中使用以下方法进行Bind
:
<%# YesNo(Active) %>
发布于 2008-10-19 19:39:50
不-但您可以使用模板列:
<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>
https://stackoverflow.com/questions/216833
复制相似问题