The property e.Row.DataItem is not available until the RowDataBound event has fired, from memory this is fired after the RowCreated event
If you debug this you will probably find that these values are null, try as follows;
a) Add a break-point to you RowCreated event handler
b) When you are in the event handler, open your Immediate window in Visual Studio & enter the following;
? DataBinder.Eval(e.Row.DataItem, "RockwellPartno")
This will tell you what the value of your expression is - if it is null & the other expression is also null there is your issue. Nulls are not equal hence the expression is false.
From memory, to access the values in the datagrid you need to do either of the following;
a) Access the inner text value of the field in the code behind;
e.Row.Cells[0].Text
b) Add the required fields to the DataKeyNames property of your data-grid in your ASPX page & then access the values in your code behind using the following
GridView1.DataKeys[e.Row.RowIndex]["RockwellPartno"].ToString()
Use your debugger & read the documentation.
The Immediate & Local windows in your debugger will show you what values you have access to & will allow you to figure out what you can & cannot do.
MSDN contains literally thousands of examples & the documentation is typically very detailed. The below link is the MSDN documentation for the GridView control
GridViewRow Class (System.Web.UI.WebControls)[
^]
Kind Regards