我正在开发一个程序,用户可以登录并查看当天获得的任何潜在客户。 gridview中有一列需要脱颖而出。可能的值为Yes或No.我得到了颜色和粗体来改变:
<asp:BoundField DataField="SelectBroker" HeaderText="Select Broker" SortExpression="SelectBroker" ItemStyle-ForeColor="Red" ItemStyle-Font-Bold="true"/>
现在,只有当值为“是”时,他们才想要这个红色和粗体。当它是“否”时,他们想要正常文本。我继承了网站并且在他的旧代码中混淆了。我无法将其重新创建为ListView。有没有办法做到这一点?
我没有发布所有代码,因为我不知道你想看到什么,我不想加载大量不必要的代码。如果您需要查看任何其他代码,请告诉我们。提前谢谢!
答案 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);
}
}