Link to home
Start Free TrialLog in
Avatar of nplib
nplibFlag for Canada

asked on

Adding controls to panel

The section of code
                event_list_panel.Controls.Add(d_event_title[rowCount]);
                event_list_panel.Controls.Add(d_event_type[rowCount]);
                event_list_panel.Controls.Add(d_event_location[rowCount]);
                event_list_panel.Controls.Add(d_event_remove[rowCount]);
is only adding the first item in the list of four.

Why?
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;
 
                event_list_panel.Controls.Add(d_event_title[rowCount]);
                event_list_panel.Controls.Add(d_event_type[rowCount]);
                event_list_panel.Controls.Add(d_event_location[rowCount]);
                event_list_panel.Controls.Add(d_event_remove[rowCount]);
                
                _y += 100;
                rowCount++;
                rs.MoveNext();
            }
            rs.Close();
         }

Open in new window

Avatar of Jaime Olivares
Jaime Olivares
Flag of Peru image

How do you know?, maybe them are present but with null string?
Avatar of nplib

ASKER

because I did a lot of testing to be sure.

if I do this
               
               //event_list_panel.Controls.Add(d_event_title[rowCount]);
                event_list_panel.Controls.Add(d_event_type[rowCount]);
                event_list_panel.Controls.Add(d_event_location[rowCount]);
                event_list_panel.Controls.Add(d_event_remove[rowCount]);
then the next one shows but not the following two don't show,

if I do this.

               //event_list_panel.Controls.Add(d_event_title[rowCount]);
               //event_list_panel.Controls.Add(d_event_type[rowCount]);
                event_list_panel.Controls.Add(d_event_location[rowCount]);
                event_list_panel.Controls.Add(d_event_remove[rowCount]);
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.
have you tried with AddRange?
Avatar of nplib

ASKER

I've looked into it, but I don't know enough about it, I was having trouble finding good examples with what I needed.
ASKER CERTIFIED SOLUTION
Avatar of Jaime Olivares
Jaime Olivares
Flag of Peru image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial