ASP.NET GridView utilisation FindControl() sur BoundField à manipuler champ

Je travaille avec un vieux app qui avait codé en dur colonnes pour des endroits différents, maintenant que de nouveaux sites sont ajoutés j'ai décidé d'essayer et de faire les choses remplir dynamiquement. L'une des caractéristiques de l'application a été d'afficher le texte en rouge et en gras, texte lorsqu'un état a été considéré comme "mauvais". Cela a été exécutée à l'aide de la "FindControl()" la fonction de la cellule au sein de la ligne sélectionnée avec TemplateFields.

Maintenant que j'ai le configurer pour utiliser un champ lié, comment pourrais-je aller sur la modification de la couleur du texte, taille, etc. au cours de l'événement DataBound?

BoundField Être Ajouté À GridView

        BoundField statusField = new BoundField();
        statusField.DataField = "ExceptionStatusCode";
        statusField.HeaderText = "Status";
        statusField.SortExpression = "ExceptionStatusCode";
        this.gvView.Columns.Add(statusField);

Lié Aux Données D'Événement Pour GridView

    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;
            }
        }
    }

OriginalL'auteur RSolberg | 2011-07-21