When you call DataBind() on the item, any databinding expressions that exist in the template are executed. For example, in this expression:
<%# Eval("Name") %>
The Eval() method will be called. This uses Reflection to evaluate the "Name" property of the current data item. Although you might be thinking that Reflection is slow, believe me, it's not *that* slow! :)
However, if the "getter" of the "Name" property is very slow, that might be the cause of the overall slowness. For example, if it goes to a database every time you get the value of the property, that would very well explain it.
Can you take a look at what the contents of the template are and perhaps what exactly is being databound in there?
Thanks,
Eilon
Blog: http://weblogs.asp.net/LeftSlipper/