Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Foutieve xml opmaak bij toevoegen record in datagridview

Pagina: 1
Acties:

  • CeedeBee
  • Registratie: Januari 2008
  • Laatst online: 23-11 12:45
heb een klein probleem met het wegschrijven van een xml file uit een datagridview:

stukje code:

dataSet1.ReadXml(_FileName);
dataGridView1.DataSource = dataSet1;
dataGridView1.DataMember = "bla";

en na bewerkigen in de grid:

dataSet1.WriteXml(_FileName);

Zou toch eenvoudigweg moeten werken. Maar het probleem is nu dat een toegevoegde row in de grid niet juist in de xml file geplaatst wordt. De nieuw aangemaakte row wordt namelijk niet tussen de root tags van de xml file geplaatst maar er achter.

Wanneer ik de nieuw aangemaakte rij vergelijk met een reeds geladen rij (vanuit het geladen bestand). blijkt de eerste een foreignkeycontraint te hebben welke verwijst naar de parenttable (dat is de root van het originele xml bestand). Het nieuw aangemaakte record heeft deze niet, de waarde staat op dbnull.

Wanneer de niewe rij in de code aangemaakt wordt:
dataSet1.Tables["bla"].Rows.Add("test","","",1.2,3.4,1);
dan wordt de xml uit de dataset wel juist gevormt. Hierbij is de laatste 1 in foreignkeycontraint.

Hoe krijg ik de dataviewtable zover dat dit laatste veld (de constraint) aangemaakt wordt bij toevoegen van rijen?

  • Asator
  • Registratie: December 2009
  • Laatst online: 12-02-2024
Wat heb je zelf al geprobeerd om dit op te lossen? Intellisense zou je al een oplosingen moeten geven hiervoor... en de termen die je nodig hebt om dit op google te vinden staan ook gewoon in je post.

  • CeedeBee
  • Registratie: Januari 2008
  • Laatst online: 23-11 12:45
Ben toch al een tijdje aan het zoeken, ook via google. Daar vindt ik niet echt een antwoord hierop.
Dacht zelf het al een behoorlijk eind uitgezocht hebben: bij het invoegen van een nieuw record wordt blijkbaar dat laatste veld niet ingevuld door de datagridview. Maar waarom niet? Kan daar geen antwoord op vinden...