如何将int值更改为文本以在GridView中显示?

时间:2012-10-02 08:14:25

标签: asp.net gridview

如标题中所述,我有一个GridView,它使用后面的代码中的DataBind方法从数据库中检索数据。但是,我的数据的一列设置为1和0,但我希望将int的值更改为要在GridView表中显示的文本。

例如,我在数据库中有status(int)0和1。因此,当我调用它们时,GridView只会在表中显示0和1,但我想在GridView中将0更改为Enabled和1 by Disabled。我怎么能用if?但我不确定放在哪里。谁能帮我这个?

3 个答案:

答案 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是了解访问者的链接 访问器封装了显示某些数据的方式。如果您想允许任何人使用“已启用”/“已禁用”字段

,那将会很有用