Adding controls to panel

Posted on 2007-11-28
Medium Priority
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 1000 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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

This article describes a simple method to resize a control at runtime.  It includes ready-to-use source code and a complete sample demonstration application.  We'll also talk about C# Extension Methods. Introduction In one of my applications…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
Suggested Courses
Course of the Month12 days, 9 hours left to enroll

777 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