如标题中所述,我有一个GridView,它使用后面的代码中的DataBind方法从数据库中检索数据。但是,我的数据的一列设置为1和0,但我希望将int的值更改为要在GridView表中显示的文本。
例如,我在数据库中有status(int)0和1。因此,当我调用它们时,GridView只会在表中显示0和1,但我想在GridView中将0更改为Enabled和1 by Disabled。我怎么能用if?但我不确定放在哪里。谁能帮我这个?
答案 0 :(得分:1)
我很想使用类似下面代码的东西。
<asp:TemplateField HeaderText="enable" ItemStyle-HorizontalAlign="Center" >
<ItemTemplate>
<%# Convert.ToString(Container.DataItem) == "0" ? "Disabled" : "Enabled" %>
</ItemTemplate>
</asp:TemplateField>
答案 1 :(得分:0)
您可以使用函数调用并根据您的数据呈现文本:
<asp:TemplateField HeaderText="enable" ItemStyle-HorizontalAlign="Center" >
<ItemTemplate ><%#GiveMeActive(Container.DataItem)%></ItemTemplate>
</asp:TemplateField>
以及
背后的代码protected string GiveMeActive(object oItem)
{
bool fEnable = (bool)DataBinder.Eval(oItem, "EnableField");
if (fEnable)
return "<div style=\"background-color:Green;color:White;\">true</div>";
else
return "<div style=\"background-color:Red;color:White;\">false</div>";
}
答案 2 :(得分:-1)
您也可以为您的领域做一个访问者。 Here是了解访问者的链接 访问器封装了显示某些数据的方式。如果您想允许任何人使用“已启用”/“已禁用”字段
,那将会很有用