Событие, связанное с строкой данных, безусловно, дает вам возможность сделать это. Это довольно просто и интуитивно понятно. И, как уже упоминалось, вы можете использовать шаблон столбца. Вероятно, я бы просто использовал столбец шаблона или поле изображения для управления этим:
<Columns>
<asp:ImageField HeaderText='Sign Off'
DataImageUrlField='<%# ThumbDisplay(Eval("SignOff")) %>' />
</Columns>
Тогда вам понадобится метод, подобный следующему в вашем коде:
protected string ThumbDisplay(int signoff)
{
return (signoff == 1) ? "~\thumbsup.png" : "~\thumbsdown.png";
}
http://www.asp.net/learn/data-access/tutorial-12-cs.aspx содержит подробные сведения об использовании столбца шаблона.
Вероятно, лучший метод - это тот, который соответствует вашим потребностям. Будут ли другие колонки нуждаться в подобном массаже? Возможно, вам лучше позаботиться обо всем за один раз в событии с ограниченным количеством строк. Но если это будет ваша единственная модификация данных, с использованием столбца шаблона или столбца изображения, вероятно, будет проще всего следить и поддерживать чистоту всей страницы.