GridView RowDataBound Alternating Row RowState issue

This was pissing me off for a good hour: RowDataBound event after you call edit on a row, I was checking for this row's state like this:

e.Row.RowState == DataControlRowState.Edit

this worked fine with rows No 1, 3, 5... (non-alternating rows), however with alternating rows of same GridView it did NOT work as their RowState is something like "Alternate | Edit". RowState contains more than one value using bit-logic. See DataControlRowState Enumeration

the solution is as follows:

((e.Row.RowState & DataControlRowState.Edit) > 0)

40 Comments

Comments have been disabled for this content.