【发布时间】:2012-02-18 09:34:46
【问题描述】:
我有一个带有动态数据源的网格视图。
我在代码隐藏中添加列。
BoundField col=new BundField();
col.DataField="Active";
col.DataFormatString=//DataFormatString;
gridview1.Columns.Add(col);
如何为布尔列设置是/否?
【问题讨论】:
标签: asp.net
我有一个带有动态数据源的网格视图。
我在代码隐藏中添加列。
BoundField col=new BundField();
col.DataField="Active";
col.DataFormatString=//DataFormatString;
gridview1.Columns.Add(col);
如何为布尔列设置是/否?
【问题讨论】:
标签: asp.net
我将此代码用于 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>
【讨论】:
在选择数据时,我会用SQL完成:
select id, fname, (case when Active = 'true' then 'Yes' else 'No' end) AS Active from tblName
现在不再需要对其进行格式化,返回的 Active 列被替换为另一个具有相同名称但包含 Yes/No 值的列。
我假设您的活动列是一个包含真/假的位列,但如果有其他东西用您的值替换真/假
【讨论】:
我发现上面使用 DataFormatString 的解决方案在 GridView 中对我不起作用。
对我有用的是使用模板列,我试图避免这样做......
【讨论】:
你可以这样做
dataformatstring="{0:Yes/No}"
【讨论】:
使用 dataformatstring="{0:Yes/No}";
【讨论】: