C# dataGridView ha van dataSource hiba

C# dataGridView ha van dataSource hiba
2013-01-11T23:31:19+01:00
2013-01-12T10:24:04+01:00
2022-11-27T22:00:38+01:00
tarampalam
Alábbiban kérnék útbaigazítást. A csatolt fájlon látszik, milyen a felépítése a fő formnak. A lényeg, hogy a textBox-okba különböző adatokat írok, melyek egy másik tabPage-en lévő dataGridView egy sorába töltődnének fel, ha a Rögzít gombra kattintunk. Ez megy is ha manuálisan csinálom meg a dataGridView mezőket. Ekkor viszont hogyan tudnám lementeni a tartalmát xml-ként és később pl. program újraindításakor visszatölteni azt?

Másrészt pedig, ha dataSource-on keresztül adok meg egy dataSet-en belül létrehozott dataTable-t, a form inicializáló részében, akkor pedig nem enged hozzáférni szerkeszteni közvetlenül a dataGridView egyedi elemeihez indexhivatkozásokkal. Konkrétan ezt írja ki, hogy nem szerkeszthető.. Ekkor ugye könnyű a mentés pl. dsAdatok nevű DataSet-tel:

dsAdatok.WriteXml("adatok.xml");


Legfontosabb nekem, hogy az a funkció működjön, hogy saját felületen rögzítek (és nem dataGridView-ban), és menti az infót pl. xml-be. S pl. másnap ha újraindítom progit, akkor betöltse az xml-t a dataGridView-ba.
Mutasd a teljes hozzászólást!
Csatolt állomány
Én ezt így oldottam meg (lásd. csatolt kép).
Mint látod felül van a grid , s alatta egy sorának kibontása.
Picit trükkös a kép, mert összevágtam két esemény eredményét.
Nyitáskor csak a felső részt látod (a felső három gombot /új tétel/módosítom/kilépek/ valamint a grid-et de jóval több sorral) egy panel-on, mert a sor kibontás panel-jának visible tulajdonsága ilyenkor false.
Ha az új/módosítom gombok valamelyikére kattintok, akkor a grid-et összehúzom, s a panel enabled tulajdonságát false-ra állítom, s az alsó panel-t láthatóvá teszem.
Kettő tableadapter-t használok a form-hoz, azonos táblából.
A felső csupán egy lekérdezésből (select), az alsó viszont CRUD funkciókkal bír.
A grid úgy született, hogy simán ráhúztam a form-ra.
A sor kibontás sem bonyolultabb, csak ott a form-ra húzás előtt a megjelenítést beállítottam details-ra.
Mutasd a teljes hozzászólást!
Csatolt állomány

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd