<code> Flytta ner raden Nu är det som så att koden jag postade inte existerar i mitt program utan bara simulerar vad som händer. Det var ju inte för skojs skulle som jag lade till den andra kolumnen efter att jag hade satt datasource på gridden. För att binda ett dataset till en Datagrid väljer du vilken tabell i dataset'et som bindningen ska gå till: Hej. Hej FredrikS! Nej, det är ingen ögonblicksbild. Du får en databinding mellan datat i datatable->dataview -> datagrid Ehh, eller så är det du som inte förstått hur en Dataview och ett Dataset är uppbyggt?ny kolumn datatable, syns i dataview?
Dim tbl as new Datatable("test")
tbl.columns.add(new datacolumn("a"))
dim dv as new dataview(tbl)
myDatagrid.datasource =dv
tbl.columns.add(new datacolumn("b"))
dim row as datarow = tbl.newrow()
row("a") = "hoho"
row("b") = "hehe"
dv.rowfilter = "(a = 'hoho') and (b = 'hehe')"
</code>
Enligt mig borde gridden visa raden, men i mitt fall gör den inte det, varför?
Har det någonting att göra med att dv skapas innan kolumn "b" är tillagd?Sv: ny kolumn datatable, syns i dataview?
myDatagrid.datasource =dv
sist efter att du laggt in värdena.....
//JennySv: ny kolumn datatable, syns i dataview?
Frågan är alltså: borde jag inte komma åt kolumn"b" i dv? Sv: ny kolumn datatable, syns i dataview?
Datagrid1.DataSource = Dataset1.Tables(0) eller
Datagrid1.DataSource = Dataset1.Tables("Tabellnamn")
Kan tänka mig att detta löser ditt problem också om du inkluderar tabellindex eller namn i bindningen...
/MagnusSv: ny kolumn datatable, syns i dataview?
Är det inte så att en DataView är en ögonblicksbild av en datakälla?
Att den ser ut som den verkliga källa gjorde just då.
Du skapar din DataView innan kolumnen finns där.Sv: ny kolumn datatable, syns i dataview?
Nu var det ett bra tag sedan jag postade frågan och jag kommer inte ihåg sammanhanget. Hur som helst håller jag med dig Fredrik om att det måste vara någonting åt det hållet.
Ni andra som berättar hr man ska binda ett datatable till en datagrid har ju inte äns förstått frågan...Sv: ny kolumn datatable, syns i dataview?
Så uppdateras datan i en datatable ser du det i Datagriden...
Det du har missat är att lägga till raden du skapat till datatable. Du har bara angett definitionen av raden, se nedan:
Dim tbl As New DataTable("test")
Dim row As DataRow = tbl.NewRow()
Dim dv As New DataView(tbl)
DataGrid1.DataSource = dv
tbl.Columns.Add(New DataColumn("a"))
tbl.Columns.Add(New DataColumn("b"))
row("a") = "hoho"
row("b") = "hehe"
tbl.Rows.Add(row)Sv: ny kolumn datatable, syns i dataview?
Eftersom det ligger Datatables till grund i båda dessa fall så är det i grunden till de enskilda datatables i respektive Dataview/Dataset du binder. Dataview/Dataset är bara komponenter för att smidigt kunna selektera/koppla ihop/välja ut data på ett enkelt sätt från en eller flera Datatables...
/Magnus