Adding controls to the ItemTemplate of a Repeater in a CompositeControl
am 24.12.2007 03:57:34 von Nathan Sokalski
I am write a CompositeControl, and one of the controls being included is a
Repeater. This is my first time including a templated control in a control
other than a UserControl. I am not sure how to add controls to the templates
or how to do the databinding when using the Repeater (or any other templated
control) in a CompositeControl. Can somebody please help me here? Thanks.
--
Nathan Sokalski
njsokalski@hotmail.com
http://www.nathansokalski.com/
Re: Adding controls to the ItemTemplate of a Repeater in a CompositeControl
am 26.12.2007 10:50:31 von l.holota
Hi,
repeaters templates are ITemplates, so you can not add the controls
straightly to them, because ITemplate doesn't have a Controls collection.
Solution is simple, insert any control to Repeaters ItemTemplate (or any
other template), get the control in code by
Repeater.FindControl("YourControlID") and add your controls to it's Controls
collection. Use different ID's in each Template.
Regards,
Lukas Holota
"Nathan Sokalski" wrote in message
news:ur9v6idRIHA.1212@TK2MSFTNGP05.phx.gbl...
> I am write a CompositeControl, and one of the controls being included is a
> Repeater. This is my first time including a templated control in a control
> other than a UserControl. I am not sure how to add controls to the
> templates or how to do the databinding when using the Repeater (or any
> other templated control) in a CompositeControl. Can somebody please help
> me here? Thanks.
> --
> Nathan Sokalski
> njsokalski@hotmail.com
> http://www.nathansokalski.com/
>
Re: Adding controls to the ItemTemplate of a Repeater in a CompositeControl
am 26.12.2007 18:06:53 von Coskun
Hi Nathan,
You can create templates by implementing ITemplate interface. I will give
you a sample example below. All you need to do is to create your control
structure using the "container" control. "InstantiateIn" method will be
executed automatically when the RepeaterItem is created by the Framework.
You can set your template like this:
#######################
Repeater1.ItemTemplate = new MyRepeaterItemTemplate();
#######################
You can also create different kinds of constructors to deliver some data to
the template.
And the template class something like below:
#######################
public class MyRepeaterItemTemplate : ITemplate
{
#region ITemplate Members
public void InstantiateIn(Control container)
{
// do something else
container.Controls.Add(new LiteralControl("Some text"));
}
#endregion
}
#######################
--
All the best,
Coskun SUNALI
MVP ASP/ASP.NET
http://sunali.com
"Nathan Sokalski" wrote in message
news:ur9v6idRIHA.1212@TK2MSFTNGP05.phx.gbl...
>I am write a CompositeControl, and one of the controls being included is a
>Repeater. This is my first time including a templated control in a control
>other than a UserControl. I am not sure how to add controls to the
>templates or how to do the databinding when using the Repeater (or any
>other templated control) in a CompositeControl. Can somebody please help me
>here? Thanks.
> --
> Nathan Sokalski
> njsokalski@hotmail.com
> http://www.nathansokalski.com/
>