0

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

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

4

3 回答 3

1

我很想使用下面的代码。

<asp:TemplateField HeaderText="enable" ItemStyle-HorizontalAlign="Center" >
    <ItemTemplate>
        <%# Convert.ToString(Container.DataItem) == "0" ? "Disabled" : "Enabled" %>
    </ItemTemplate>
</asp:TemplateField>
于 2012-10-02T10:48:15.523 回答
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>";
}
于 2012-10-02T08:22:14.190 回答
-1

您还可以访问您的字段。 这里是一个了解访问器的链接访问器封装了一些数据的显示方式。如果您想允许任何人使用“启用”/“禁用”字段,那将会很有趣

于 2012-10-02T08:22:21.680 回答