Groups | Blog | Home
all groups > asp.net building controls > february 2005 >

asp.net building controls : Custom template in Repeater


dotNet
2/8/2005 4:52:27 PM
Hello!

I want to add another template to the templates that are already
available with the repeater control.

This is what I have done so far...

Created a class that inherits from WebControl and implements
INamingContainer to hold my controls that I add in my template.

public class PagedRepeaterTemplateItem : WebControl, INamingContainer
{
}


Inherit the repeater to my custom repeater..

public class PagedRepeater : Repeater
{
//Added an ITemplate property..

private ITemplate pagingTemplate = null;
public ITemplate PagingTemplate
{
get { return pagingTemplate; }
set { pagingTemplate = value; }
}

//Override the current CreateChildControls()
protected override void CreateChildControls()
{
this.Controls.Clear();

PagedRepeaterTemplateItem item = new PagedRepeaterTemplateItem();

PagingTemplate.InstantiateIn(item);
this.Controls.Add(item);

}
}

I have also tried to override the Render()-method, but when I check the
this.Controls()-collection when I am in that method I notice that the
controls that I add in the CreateChildControls() are gone.

Anyone know what I have missed, and how I can make it to work?

IgorW
2/8/2005 9:09:43 PM
Look:
http://msdn.microsoft.com/asp.net/articles/webcontrols/default.aspx?pull=/library/en-us/dnaspp/html/databoundtemplatedcontrols.asp



[quoted text, click to view]
AddThis Social Bookmark Button