webForumDet fria alternativet

Skapa controll i runtime

.NET

3 svar · 259 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

Jag har en windows form där jag har en TabControl, till den lägger jag till en TabPage, det funkar utan problem men när jag sen försöker att lägga till en Datagrid i Tabpagen så syns aldrig datagriden!

	TabPage tabPage1 = new TabPage("Tab1");
	DataGrid dg = new DataGrid();

	tabControl1.TabPages.Add(tabPage1);
	
	tabPage1.Size = new System.Drawing.Size(192, 74);
	tabPage1.Controls.Add(dg);

	
	dg.Name = "Datagriden";
	dg.AllowSorting = false;
	dg.AlternatingBackColor = System.Drawing.SystemColors.ControlLightLight;
	dg.BackColor = System.Drawing.SystemColors.ControlLightLight;
	dg.BackgroundColor = System.Drawing.SystemColors.Control;
	dg.BorderStyle = System.Windows.Forms.BorderStyle.None;
	dg.CaptionBackColor = System.Drawing.SystemColors.Control;
	dg.CaptionForeColor = System.Drawing.SystemColors.Control;
	dg.CaptionVisible = false;
	dg.DataMember = "";
	dg.GridLineStyle = System.Windows.Forms.DataGridLineStyle.None;
	dg.HeaderForeColor = System.Drawing.SystemColors.ControlText;
	dg.Location = new System.Drawing.Point(0, 0);
	dg.ParentRowsVisible = false;
	dg.ReadOnly = true;
	dg.RowHeadersVisible = false;
	dg.SelectionBackColor = System.Drawing.SystemColors.Control;
	dg.SelectionForeColor = System.Drawing.SystemColors.Control;
	dg.Size = new System.Drawing.Size(664, 344);
	dg.TabIndex = 0;

Är det nått jag missar?
Som sagt tabben syns men inte datagriden.

Medlem sedan feb. 20013 023 inlägg
#2

Hehe, du sätter ju alla färger till kontrollgrå. Jag testade din kod och bytte ut lite färger och då fick jag fram griden.

I mörkret är alla katter grå...

Medlem sedan jan. 20013 341 inlägg
#3

Jag hade glömt att fylla tabellerna :r
men nu kommer nästa problem, det är bara på en tab som en datagrid dyker upp:

			if(txtKundNummer.Text.Length>=5 && txtText1.Text !="")
			{
				//int period=1;
				DataSet ds = new DataSet();
				double tPris = 0.0;
				string tablename = dddateTime.Text;
				DateTime newtabname = Convert.ToDateTime(dddateTime.Text);
				
				for(int j=1;j<=24;j++)
				{
					DataTable dt = new DataTable(tablename);
					dt.Columns.Add("Art",typeof(string));
					dt.Columns.Add("Beskrivning",typeof(string));
					dt.Columns.Add("Antal",typeof(int));
					dt.Columns.Add("aPris",typeof(double));
					dt.Columns.Add("Pris",typeof(double));
					for(int i=1;i<=9;i++)
					{
						if(((ComboBox)FindControl("txtArt"+i,this)).Text.Length>=2)
						{
							DataRow objDR=dt.NewRow();
							objDR["Art"] = ((ComboBox)FindControl("txtArt"+i,this)).Text;
							objDR["Beskrivning"] = ((TextBox)FindControl("txtText"+i,this)).Text;
							objDR["Antal"] = Convert.ToInt32(((TextBox)FindControl("txtAntal"+i,this)).Text);
							objDR["aPris"] = Convert.ToDouble(((TextBox)FindControl("txtPris"+i, this)).Text);
							objDR["Pris"] = Convert.ToDouble(Convert.ToDouble(((TextBox)FindControl("txtPris"+i,this)).Text)*Convert.ToInt32(((TextBox)FindControl("txtAntal"+i,this)).Text));
							dt.Rows.Add(objDR);
							tPris+=Convert.ToDouble(Convert.ToDouble(((TextBox)FindControl("txtPris"+i,this)).Text)*Convert.ToInt32(((TextBox)FindControl("txtAntal"+i,this)).Text));
						}
					}
					DataRow objDRT=dt.NewRow();
					objDRT["Art"] = "";
					objDRT["Beskrivning"] = "TOTALT:";
					objDRT["Pris"] = tPris;
					dt.Rows.Add(objDRT);
					ds.Tables.Add(dt);
					newtabname = newtabname.AddMonths(1);
					tablename = newtabname.ToString().Substring(0,7)+"-01";
				}

				foreach(DataTable ldt in ds.Tables)
				{
					TabPage tabPage1 = new TabPage("tb"+ldt.TableName);
					DataGrid dg = new DataGrid();

					tabControl1.TabPages.Add(tabPage1);
					
					tabPage1.Size = new System.Drawing.Size(192, 74);
					tabPage1.Controls.Add(dg);
					tabControl1.TabPages[0].Controls.Add(dg);

					
					dg.Name = "dg"+ldt.TableName;
					dg.AllowSorting = false;
					dg.AlternatingBackColor = System.Drawing.SystemColors.ControlLightLight;
					dg.BackColor = System.Drawing.SystemColors.ControlLightLight;
					dg.BackgroundColor = System.Drawing.SystemColors.Control;
					dg.BorderStyle = System.Windows.Forms.BorderStyle.None;
					dg.CaptionBackColor = System.Drawing.SystemColors.Control;
					dg.CaptionForeColor = System.Drawing.SystemColors.Control;
					dg.CaptionVisible = false;
					dg.DataMember = "";
					dg.GridLineStyle = System.Windows.Forms.DataGridLineStyle.None;
					dg.HeaderForeColor = System.Drawing.SystemColors.ControlText;
					dg.Location = new System.Drawing.Point(0, 0);
					dg.ParentRowsVisible = false;
					dg.ReadOnly = true;
					dg.RowHeadersVisible = false;
					dg.SelectionBackColor = System.Drawing.SystemColors.Control;
					dg.SelectionForeColor = System.Drawing.SystemColors.Control;
					dg.Size = new System.Drawing.Size(564, 344);
					dg.TabIndex = 0;
					dg.DataSource = ldt;
					//tabPage1.SendToBack();
					//tabControl1.SendToBack();
					//dg.BringToFront();
					//MessageBox.Show(FindControl("dg"+ldt.TableName,this).Name);
				}
Medlem sedan jan. 20013 341 inlägg
#4

LOL
tabControl1.TabPages[0].Controls.Add(dg);
ska vara
tabPage1.Controls.Add(dg);
:e

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)