forse mi sono spiegato male, gestendo l'evento RowDataBound puoi gestire i dati in "entrata" nel GridView, analizzarli e agire di conseguenza.
naturalmente se hai 200 gif diverse da assegnase è logico che devi eseguire qualche tipo di controllo.
io inizierei da l'evento RowDataBound.
comunque era meglio se progettavi il tuo oggetto non con 200 campi ma magari con una collezione di "campi", se un giorno devi aggiungere un campo sei costretto a modificare la classe.
ucco un esempio di utilizzo del evento preso da msdn
Sub AuthorsGridView_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
' Check for a row in edit mode.
If e.Row.RowState = DataControlRowState.Edit Then
' Preselect the DropDownList control with the state value
' for the current row.
' Retrieve the underlying data item. In this example
' the underlying data item is a DataRowView object.
Dim rowView As DataRowView = CType(e.Row.DataItem, DataRowView)
' Retrieve the state value for the current row.
Dim state As String = rowView("state").ToString()
' Retrieve the DropDownList control from the current row.
Dim list As DropDownList = CType(e.Row.FindControl("StatesList"), DropDownList)
' Find the ListItem object in the DropDownList control with the
' state value and select the item.
Dim item As ListItem = list.Items.FindByText(state)
list.SelectedIndex = list.Items.IndexOf(item)
End If
End Sub
ciao marco