Adding controls to panel

Posted on 2007-11-28
Last Modified: 2011-08-18
The section of code
is only adding the first item in the list of four.

What am I missing?
private void mainForm_Load(object sender, EventArgs e)
            int _x = 100;
            int _y = 100;
            int rowCount = 0;
            int screenWidth = (this.ClientSize.Width - (_x*2));
            ADODB.Recordset rs = new ADODB.Recordset();
            Connection = new ADODB.Connection();
            Connection.Open("NKTConnections", null, null, 0);
            string sql = "SELECT d.event_id, d.event_title, d.event_type, d.event_location FROM events_calendar_data d, events_calendar_datetime t where d.event_id = t.event_id ORDER BY t.event_date DESC, d.event_title;";
            rs.CursorLocation = CursorLocationEnum.adUseClient;
            rs.Open(sql, Connection, CursorTypeEnum.adOpenForwardOnly, LockTypeEnum.adLockReadOnly, 0);
            int _recordCount = rs.RecordCount;
            Label[] d_event_title = new Label[_recordCount];
            Label[] d_event_type = new Label[_recordCount];
            Label[] d_event_location = new Label[_recordCount];
            Label[] d_event_remove = new Label[_recordCount];
            Button[] d_event_edit = new Button[_recordCount];
            CheckBox[] d_event_cb_remove = new CheckBox[_recordCount];
            while (!rs.EOF)
                string event_id = rs.Fields["event_id"].Value.ToString();
                string event_title = rs.Fields["event_title"].Value.ToString();
                string event_type = rs.Fields["event_type"].Value.ToString();
                string event_location = rs.Fields["event_location"].Value.ToString();
                d_event_title[rowCount] = new Label();
                d_event_type[rowCount] = new Label();
                d_event_location[rowCount] = new Label();
                d_event_remove[rowCount] = new Label();
                d_event_edit[rowCount] = new Button();
                d_event_cb_remove[rowCount] = new CheckBox();
                d_event_title[rowCount].Font = new Font("Arial", 10, FontStyle.Bold);
                d_event_title[rowCount].Text = event_title;
                d_event_title[rowCount].Location = new System.Drawing.Point(_x, _y);
                d_event_title[rowCount].Width = screenWidth;
                d_event_type[rowCount].Font = new Font("Arial", 8, FontStyle.Bold);
                d_event_type[rowCount].Text = event_type;
                d_event_type[rowCount].Location = new System.Drawing.Point(_x, _y+10);
                d_event_type[rowCount].Width = screenWidth;
                d_event_location[rowCount].Font = new Font("Arial", 8, FontStyle.Bold);
                d_event_location[rowCount].Text = event_location;
                d_event_location[rowCount].Location = new System.Drawing.Point(_x, _y+20);
                d_event_location[rowCount].Width = screenWidth;
                d_event_remove[rowCount].Font = new Font("Arial", 6, FontStyle.Regular);
                d_event_remove[rowCount].Text = "Check to Remove";
                d_event_remove[rowCount].Location = new System.Drawing.Point(_x, _y+30);
                d_event_remove[rowCount].Width = screenWidth;
                _y += 100;

Open in new window

Question by:nplib
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 55

Expert Comment

by:Jaime Olivares
ID: 20368767
How do you know?, maybe them are present but with null string?
LVL 17

Author Comment

ID: 20368803
because I did a lot of testing to be sure.

if I do this
then the next one shows but not the following two don't show,

if I do this.

then the first availble one shows but not the last, and if I comment out the first three then the last one shows, I've even reordered them to see what happens, and always the first one in the list is added but not the others.
LVL 55

Expert Comment

by:Jaime Olivares
ID: 20368914
have you tried with AddRange?
LVL 17

Author Comment

ID: 20368929
I've looked into it, but I don't know enough about it, I was having trouble finding good examples with what I needed.
LVL 55

Accepted Solution

Jaime Olivares earned 250 total points
ID: 20369298
event_list_panel.Controls.AddRange(new Control[] {d_event_title[rowCount], d_event_type[rowCount],d_event_location[rowCount] });

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: Najam
Having new technologies does not mean they will completely replace old components.  Recently I had to create WCF that will be called by VB6 component.  Here I will describe what steps one should follow while doing so, please feel free to post any qu…
Introduction This article series is supposed to shed some light on the use of IDisposable and objects that inherit from it. In essence, a more apt title for this article would be: using (IDisposable) {}. I’m just not sure how many people would ge…
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…

705 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