Solved

Adding controls to panel

Posted on 2007-11-28
5
843 Views
Last Modified: 2011-08-18
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

0
Comment
Question by:nplib
  • 3
  • 2
5 Comments
 
LVL 55

Expert Comment

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

Author Comment

by:nplib
Comment Utility
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.
0
 
LVL 55

Expert Comment

by:Jaime Olivares
Comment Utility
have you tried with AddRange?
0
 
LVL 17

Author Comment

by:nplib
Comment Utility
I've looked into it, but I don't know enough about it, I was having trouble finding good examples with what I needed.
0
 
LVL 55

Accepted Solution

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

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

772 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

12 Experts available now in Live!

Get 1:1 Help Now