an0ther1
Свойство e. Row. DataItem недоступно до тех пор, пока не будет запущено событие RowDataBound, из памяти оно запускается после события RowCreated
Если вы отладите это, то, вероятно, обнаружите, что эти значения равны нулю, попробуйте сделать следующее;
а) добавьте точку останова в обработчик событий RowCreated
Б) когда вы находитесь в обработчике событий, откройте свое непосредственное окно в Visual Studio и введите следующее;
? DataBinder.Eval(e.Row.DataItem, "RockwellPartno")
Это скажет вам, каково значение вашего выражения - если оно равно null & другое выражение также равно null, то это ваша проблема. Нули не равны, следовательно, выражение ложно.
Из памяти, чтобы получить доступ к значениям в datagrid, вам нужно выполнить одно из следующих действий;
а) доступ к внутреннему текстовому значению поля в коде позади него;
e.Row.Cells[0].Text
б) добавьте необходимые поля в свойство DataKeyNames вашей сетки данных на странице ASPX ,а затем получите доступ к значениям в вашем коде, используя следующее
GridView1.DataKeys[e.Row.RowIndex]["RockwellPartno"].ToString()
Используйте свой отладчик и прочитайте документацию.
Непосредственные и локальные окна в вашем отладчике покажут вам, к каким значениям у вас есть доступ ,и позволят вам выяснить, что вы можете и не можете сделать.
MSDN содержит буквально тысячи примеров ,и документация, как правило, очень подробная. Ссылка ниже-это документация MSDN для элемента управления GridView
Класс GridViewRow (System .Web. UI.WebControls)[
^]
с уважением