如何控制GridView单元格的特定属性

时间:2012-03-30 16:50:52

标签: c# asp.net gridview

我正在开发一个程序,用户可以登录并查看当天获得的任何潜在客户。 gridview中有一列需要脱颖而出。可能的值为Yes或No.我得到了颜色和粗体来改变:

<asp:BoundField DataField="SelectBroker" HeaderText="Select Broker" SortExpression="SelectBroker" ItemStyle-ForeColor="Red" ItemStyle-Font-Bold="true"/>

现在,只有当值为“是”时,他们才想要这个红色和粗体。当它是“否”时,他们想要正常文本。我继承了网站并且在他的旧代码中混淆了。我无法将其重新创建为ListView。有没有办法做到这一点?

我没有发布所有代码,因为我不知道你想看到什么,我不想加载大量不必要的代码。如果您需要查看任何其他代码,请告诉我们。提前谢谢!

2 个答案:

答案 0 :(得分:1)

我会使用模板字段,并将文本包装在Label中。然后,您可以添加条件来设置颜色和字体粗细。

我没有测试过,但尝试这样的事情:

<asp:TemplateField>
    <ItemTemplate>
        <asp:Label runat="server" ForeColor='<%# Eval("Value").ToString() == "YES" ? "Red" : "Black" %>'><%# Eval("Value") %></asp:Label>
    </ItemTemplate>
</asp:TemplateField>

答案 1 :(得分:0)

        // Evaluate in the row data bound event.
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            // Evaluate if yes then do whatever you want with the rendered text.
            if (e.Row.Cells[3].Text == "Yes") {
                e.Row.Cells[3].Text = string.Format("<span class='bold red'>{0}</span>", e.Row.Cells[3].Text);
            }
        }