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

本文关键字:单元格 属性 GridView 何控制 控制 | 更新日期: 2023-09-27 18:29:29

我正在开发一个程序,用户可以登录该程序,查看当天获得的任何线索。网格视图中有一列需要突出显示。可能的值是"是"或"否"。我使用以下选项更改了颜色和粗体:

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

现在,只有当值为Yes时,他们才想要这个红色和粗体,当值为No时,他们想要普通文本。我继承了这个网站,并在他的旧代码中混日子。我无法将其重新创建为ListView。有办法做到这一点吗?

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

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

我会使用一个模板字段,并将文本包装在标签中。然后您可以添加一个条件来设置颜色和字体的重量。

我还没有测试过,但尝试一下这样的东西:

<asp:TemplateField>
    <ItemTemplate>
        <asp:Label runat="server" ForeColor='<%# Eval("Value").ToString() == "YES" ? "Red" : "Black" %>'><%# Eval("Value") %></asp:Label>
    </ItemTemplate>
</asp:TemplateField>
        // 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);
            }
        }