PDA

View Full Version : Dynamic DataGridView adding, problem with columnhiding


jellev
10-13-2009, 12:14 AM
Hi ,

Is there someone who has an idea what's the problem inhere?


foreach (DataGridView dgv in views)
{
dgv.Name = "lane" + teller++;
if(teller%2 == 0){
dgv.Location = onevenP;
onevenP.Y += 200;
}
else
{
dgv.Location = evenP;
evenP.Y += 200;
}
dgv.Height = 180;
dgv.Width = 250;
//dgv.Columns[1].Visible = false;
//dgv.Columns[2].Visible = false;
//dgv.Columns[3].Visible = false;
dgv.Columns.Remove("nr");
dgv.Columns.Remove("team");
dgv.Columns.Remove("lanes");

//none of the above works
tabPage3.Controls.Add(dgv);
}

jellev
10-13-2009, 06:19 PM
solution is to add the control to the form and bind the datasource,
before you set all the other control settings:


foreach (Lane l in GameInput.GI.lanes)
{

DataGridView dgv = new DataGridView();
dgv.Name = "lane" + teller++;
tabPage3.Controls.Add(dgv);//first add
dgv.DataSource = l.players;//then Bind with List
if (teller % 2 == 0) //then settings
{
dgv.Location = onevenP;
onevenP.Y += 200;
}
else
{
dgv.Location = evenP;
evenP.Y += 200;
}
dgv.Height = 180;
dgv.Width = 300;
dgv.AutoGenerateColumns = true;
dgv.Visible = true;
dgv.RowHeadersVisible = false;
//dgv.Columns.
dgv.Columns["nr"].Visible = false;
dgv.Columns["team"].Visible = false;
dgv.Columns["lane"].Visible = false;

}