All Types implement IEnumerable interface could be used for a DataSource of a DataList. For example List. But what we will write for the data bound expression in ItemTemplate?
List<int> myList = new List<int>();
for(int i=0; i<10; i++)
myList.Add(i);
myDataList.DataSource = myList;
...
<ItemTemplate>
<asp:TextBox ID="myTextBox" runat="server" Text='<%# Bind(???) %>' />
</ItemTemplate>