Ejecutar el evento DataList1_ItemDataBound, por qué e.Item.ItemIndex=-1
if (e.Item.ItemIndex ! = -1)
No es necesario agregar este if. No tiene ningún sentido....
Esta vez. El elemento no se ha agregado a DataList, por lo que su ItemIndex debe ser -1.
Esta vez.