Solved

How to insert Controls at a specific location within the Controls collection when building a dynamic table.

Posted on 2011-02-21
5
459 Views
Last Modified: 2012-05-11
Hi,

I am building a dynamic table which contains multiple rows and each cell contains 7 cells. One of the cells has 2 textboxes. I want to add a label to that cell at runtime. Currently I am only using "add" so it is the last control in. How can I insert the label before the first TextBox?

At present I am doing

cells(6).controls.add(myLabel)

If I want to add it before Textbox2 I do the following

cells(6).controls.Remove(Textbox1)
cells(6).controls.Remove(Textbox2)
cells(6).controls.add(myLabel)
cells(6).controls.Remove(Textbox1)
cells(6).controls.add(TextBox2)

Is there not a better way of inserting a control at a specific location in the collection without removing controls?

Thanks,

Sam
0
Comment
Question by:SamJolly
  • 3
  • 2
5 Comments
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 34942085
There should be an "AddAt" method on the collection that lets you specify the index to insert at:
cells(6).Controls.AddAt(0, myLabel)

Open in new window

0
 

Author Comment

by:SamJolly
ID: 34942184
carl,

thanks for this. So assuming I need to use 2 positions depending on Unit (£ or %) then the following would be correct?

If I had 2 textboxes2

TextBox1
Textbox2

then for "£" I would need :

 cells(6).Controls.AddAt(0, myLabel)

and for "%" I would need:

 cells(6).Controls.AddAt(2, myLabel)

Is my thinking and code correct?

Thanks,

Sam

0
 

Author Comment

by:SamJolly
ID: 34942196
Actually for the "%" I can just do an "Add".

Sam
0
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 500 total points
ID: 34942204
Yes, you only really need to use AddAt() if you want to force a specific location. Add() will add to the end anyway.
0
 

Author Closing Comment

by:SamJolly
ID: 34942484
thanks, very helpful
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Suggested Solutions

If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now