Hej! Magnus,Lägga till en Kolumn till en DataGrid i runtime?
Jag har tidigare frågat om DataGrid och kolumner men jag hängde inte riktigt med så jag försöker bryta ner problemet och formulera om mig.
Jag vill göra följande:
1. Skapa en DataGrid med data från en access-databas i designtime.
2. Datagriden skall ha en TableStyle och en ColumnStyle för att jag skall kunna justera och hantera respektive kolumn på enskilt sätt.
3. Lägga till en eller flera kolumner i runtime till Datagriden. Dessa skall alltså adderas till TableStyle och ColumnStyle.
Punkterna 1 o 2 har jag klarat av, men jag får inte ordning på nummer 3.
Här kommer lite kod som kan vara av intresse.
.
.
.
Friend WithEvents myDataGridTableStyle As System.Windows.Forms.DataGridTableStyle
Friend WithEvents BildDataGridTextBoxColumn As System.Windows.Forms.DataGridTextBoxColumn
Friend WithEvents TempDataGridTextBoxColumn As System.Windows.Forms.DataGridTextBoxColumn
.
.
.
Me.DataGrid1 = New System.Windows.Forms.DataGrid
Me.dsTest = New TestDataGrid.dsTest
Me.myDataGridTableStyle = New System.Windows.Forms.DataGridTableStyle
Me.BildDataGridTextBoxColumn = New System.Windows.Forms.DataGridTextBoxColumn
.
.
.
'
'DataGrid1
'
Me.DataGrid1.CaptionVisible = False
Me.DataGrid1.DataMember = "TestTable"
Me.DataGrid1.DataSource = Me.dsTest
Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.DataGrid1.Location = New System.Drawing.Point(0, 64)
Me.DataGrid1.Name = "DataGrid1"
Me.DataGrid1.ReadOnly = True
Me.DataGrid1.Size = New System.Drawing.Size(840, 336)
Me.DataGrid1.TabIndex = 0
Me.DataGrid1.TableStyles.AddRange(New System.Windows.Forms.DataGridTableStyle() {Me.myDataGridTableStyle})
'
'dsTest
'
Me.dsTest.DataSetName = "dsTest"
Me.dsTest.Locale = New System.Globalization.CultureInfo("sv-SE")
'
'myDataGridTableStyle
'
Me.myDataGridTableStyle.DataGrid = Me.DataGrid1
Me.myDataGridTableStyle.GridColumnStyles.AddRange(New System.Windows.Forms.DataGridColumnStyle() {Me.BildDataGridTextBoxColumn})
Me.myDataGridTableStyle.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.myDataGridTableStyle.MappingName = "TestTable"
Me.myDataGridTableStyle.RowHeadersVisible = False
'
'BildDataGridTextBoxColumn
'
Me.BildDataGridTextBoxColumn.Format = ""
Me.BildDataGridTextBoxColumn.FormatInfo = Nothing
Me.BildDataGridTextBoxColumn.HeaderText = "Bild2"
Me.BildDataGridTextBoxColumn.MappingName = "Bild"
Me.BildDataGridTextBoxColumn.NullText = """"""
Me.BildDataGridTextBoxColumn.ReadOnly = True
Me.BildDataGridTextBoxColumn.Width = 75
'
'dapTest
'
Me.dapTest.InsertCommand = Me.OleDbInsertCommand1
Me.dapTest.SelectCommand = Me.OleDbSelectCommand1
Me.dapTest.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "TestTable", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("Bild", "Bild"), New System.Data.Common.DataColumnMapping("Efternamn", "Efternamn"), New System.Data.Common.DataColumnMapping("Förnamn", "Förnamn"), New System.Data.Common.DataColumnMapping("SpelarId", "SpelarId"), New System.Data.Common.DataColumnMapping("fgdfg", "dgdfg")})})
Hur gör jag sedan för att lägga till en kolumn i DataGriden i runtime? Jag får helt enkelt inte in en extra kolumn? Jag ser bara en kolumn som heter "Bild2"
Förklara gärna hur man gör det.
Jag hade typ tänkt så här:
1. Skapa en ny DataKolumn.
2. Lägg till den i GridColumnStyles
Typ refresha eller nått.
Kan nån göra ett kort exempel till mig eller skriva koden som behöver göras för att lägga till en kolumn.
Jag är mycket tacksam om du kommer med en lösning eller tips som kan få mig att komma framåt i denna fråga. Tack så länge.
/Mvh MagnusSv: Lägga till en Kolumn till en DataGrid i runtime?
Om du löser dina egna inlägg så är det alltid trevligt om man delar med sig av lösningen. På så sätt kan andra med liknande problem både få ta del av problemet samt lösningen om de söker i forumet. =)