---
title: "Skapa controll i runtime"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/112509-skapa-controll-i-runtime"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "aleborg"
published: "2004-09-28T14:52:58.000Z"
updated: "2004-09-28T16:18:25.000Z"
replies: 3
views: 269
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/112509-skapa-controll-i-runtime"
---

# Skapa controll i runtime

## #1 — aleborg, 2004-09-28T14:52Z

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.

Permalänk: https://www.webforum.nu/p/112509

## #2 — clarkbones, 2004-09-28T15:10Z

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å...

Permalänk: https://www.webforum.nu/p/1449013

## #3 — aleborg, 2004-09-28T15:45Z

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);
				}
```

Permalänk: https://www.webforum.nu/p/1449046

## #4 — aleborg, 2004-09-28T16:18Z

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

Permalänk: https://www.webforum.nu/p/1449064

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/112509-skapa-controll-i-runtime
