Prev | Current Page 414 | Next

Rob Cameron and Dale Michalk

"Pro ASP.NET 3.5 Server Controls and AJAX Components"

PerformSelect();
}
private List items; //private collection backing Items property
private void CreateControlHierarchy(bool useData, bool
usingIDataSource, IEnumerable data)
{
items = new List();
IEnumerable ds = null;
if (HeaderTemplate != null)
{
RepeaterItem header = CreateItem(-1, ListItemType.Header, false, null);
}
CHAPTER 7 ?–  SERVER CONTROL DATA B INDING 309
int count = -1;
if (useData)
{
if (!usingIDataSource)
ds = (IEnumerable)DataSourceHelper.ResolveDataSource(DataSource,
DataMember);
else
ds = data;
}
else
{
count = (int)ViewState["ItemCount"];
if (count != -1)
{
ds = new DummyDataSource(count);
}
}
if (ds != null)
{
int index = 0;
count = 0;
RepeaterItem item;
ListItemType itemType = ListItemType.Item;
foreach (object dataItem in (IEnumerable)ds)
{
if (index != 0)
{
RepeaterItem separator = CreateItem(-1,
ListItemType.Separator, false, null);
}
item = CreateItem(index, itemType, useData, dataItem);
items.Add(item);
index++;
count++;
if (itemType == ListItemType.Item)
itemType = ListItemType.AlternatingItem;
else
itemType = ListItemType.Item;
}
}
310 CHAPTER 7 ?–  SE RVER CONTROL DATA B INDING
if (FooterTemplate != null)
{
RepeaterItem footer = CreateItem(-1, ListItemType.


Pages:
402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426