我正在使用一个旧应用程序,该应用程序具有针对不同位置的硬编码列,现在正在添加新位置,我决定尝试动态填充内容。该应用程序的功能之一是在状态被视为“不良”时显示红色文本和粗体文本。这是通过使用带有 TemplateFields 的选定行中的单元格中的“FindControl()”函数来执行的。
现在我已经将它设置为使用绑定字段,我将如何在 DataBound 事件期间更改文本颜色、大小等?
BoundField 被添加到 GridView
BoundField statusField = new BoundField();
statusField.DataField = "ExceptionStatusCode";
statusField.HeaderText = "Status";
statusField.SortExpression = "ExceptionStatusCode";
this.gvView.Columns.Add(statusField);
GridView 的 DataBound 事件
protected void gvView_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow row in this.gvView.Rows)
{
//NO LONGER WORKS, NEED TO KNOW HOW TO REPRODUCE
//WHAT IS BELOW FOR BOUND FIELD
Label lblPartStatus = ((Label) row.Cells[StatusColumn].FindControl("lblPartStatus"));
if (lblPartStatus.Text == "BAD")
{
lblPartStatus.ForeColor = System.Drawing.Color.Red;
row.ToolTip = "One or more locations is missing information!";
row.BackColor = System.Drawing.Color.Salmon;
}
}
}