custom user contol in array (asp.net/C#)

D

dllhell

Hello,

I would like to create a custom user control with indexes and access this
control like
mycontrol[n],something()

It would be a hundred such controls on the web form placed in table 10x10
cells.
Does anyone know how to force a control to be in array?
 
P

Pavel Minaev

Hello,

I would like to create a custom user control with indexes and access this
control like
mycontrol[n],something()

It would be a hundred such controls on the web form placed in table 10x10
cells.
Does anyone know how to force a control to be in array?

You cannot force the control to be an array, but you can have an array
of controls, just as you can have an array of any other kinds of
objects:

Button[,] btns = new Button[10, 10];
for (int i = 0; i < 10; ++i) {
for (int j = 0; j < 10; ++j) {
Button btn = new Button();
btn.Text = "Button @ " + i + ","+ j;
...
btns[i,j] = btn;
}
}
 
D

dllhell

Pavel Minaev said:
You cannot force the control to be an array, but you can have an array
of controls, just as you can have an array of any other kinds of
objects:


That was what I afride of...
I have a B question then,
If I instance and load control dynamicaly, its impossible to define in which
HTML table cell I wish to load instanced control, isn't it?
So if I can have an array I cant define a possition.
Please tell me I'm wrong! :))
 
P

Pavel Minaev

That was what I afride of...
I have a B question then,
If I instance and load control dynamicaly, its impossible to define in which
HTML table cell I wish to load instanced control, isn't it?

Why, it is possible, of course. You just add the control to the
ControlCollection of the parent control you want. E.g.:

var button = new Button();
...
panel.Controls.Add(button);

You can do the same for the table cells, of course. I'd expect you'll
need to create that 10x10 grid of table cells first, though - use
HtmlTable/HtmlTableRow/HtmlTableCell controls for that (you can have
HtmlTable created from .aspx, and add the rows/cells from codebehind).

Note that, in general, there's no such thing as "loading control
statically" vs "dynamically" in ASP.NET. It's all the same thing. When
your ASP.NET page is compiled, the result is C# (or VB) code that
creates those controls, exactly the same as if you were the one who
created them.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top