Moskus Skrevet 11. desember 2006 Skrevet 11. desember 2006 Kjapt spørsmål. Jeg har jobbet mye med DataGrid i VS 2003, men den controllen er tydeligvis borte i VS 2005. Jeg har lagt til et DataSet som en controll (dsAll). I datasettet har jeg laget en tabell (dsSurfaces) med noen kolonner. Jeg setter opp DataGridView slik: Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load dtSurfaces = dsAll.Tables(0) grdWalls.DataSource = dsAll.Tables(0) grdWalls.RowHeadersWidth = 4 For i As Integer = 0 To dtSurfaces.Columns.Count - 1 grdWalls.Columns.Add(dtSurfaces.Columns(i).ColumnName, dtSurfaces.Columns(i).ColumnName) grdWalls.Columns(i).Width = 71 Next End Sub Jeg har en knapp for å legge til en ny rad, slik veldig enkelt: Private Sub btnAddWall_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddWall.Click Dim row As DataRow = dtSurfaces.NewRow row.Item(0) = 0 dtSurfaces.Rows.Add(row) End Sub Så skriver jeg noe inn i raden. Dette blir absolutt ikke lagt til i tabellen eller datasettet. dsAll.WriteXML gir en tom XML-fil. dsAll.AcceptChanges gjør DataGridView'et blankt. Hva pokker er det jeg mangler?!?
Moskus Skrevet 11. desember 2006 Forfatter Skrevet 11. desember 2006 (endret) Jaha... det må ligge noe feil i denne linjen: grdWalls.Columns.Add(dtSurfaces.Columns(i).ColumnName, dtSurfaces.Columns(i).ColumnName) ...siden grdSurfaces.AutoGenerateColumns = True (som forsåvidt er en genistrek.) Men hva? Hadde vært kjekt å vite da mitt store-altfor-dyre-men-uheldigvis-(foreløpig)-ikke-debiterbare-prosjekt skal porteres fra .NET 1.1 til 2.0... EDIT: Allright, you lazy boyz. Fant det ut. grdSurfaces.Columns(i).DataPropertyName = dtSurfaces.Columns(i).ColumnName Endret 11. desember 2006 av moskus
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå