Questione : gruppo di dati a xml

ciao -- ora ho passato troppo tempo che prova a calcolare fuori come fare questo lavoro. sto usando vs2010 e il c#. ho avuto un'aspettativa che se popolo un gruppo di dati da una lima del xml -- e specificato lo schema -- che l'insieme di dati scriverebbe indietro le nuove file nello stesso luogo (IE la stessa equivalenza della tabella = di nodo) da come lo ha preso. Per esempio, se leggerà una lima del xml con i seguenti dati: il padrone Test
testme>
R
1
1.0
1ber>
20RecordID>


this del NNP del
di controllo Tower

ControleName>
T
8
1.0
1ber>
10RecordID>

del NNP del
del
del
può essere usato per popolare una tabella dal dtMod di DataTable = dal ds. Tabelle [“eachModule„]. la tabella allora è usata per popolare un gridview. posso allora maneggiare la tabella via il gridview per aggiungere le file. quando vado conservare l'applicazione, uso ds.writeXML (myfile) di nuovo alla lima che originale mi sono aperto. ciò funziona -- e la prossima volta la apro la tabella e il gridview sono popolati correttamente. comunque la nuova fila appened al livello superiore di lima del xml, piuttosto che aggiungendosi nel posto adatto nello schema (moduli dello IE > ogni modulo). il

what che voglio conoscere è se questo è il senso il sistema funziona e se voglio aggiungere una nuova fila ad una tabella, devo conoscere quello e scrivere ad un nodo nella lima explicitly.
thanks, il
Jim
del xml class= del

Risposta : gruppo di dati a xml

Ciao,

Penso che vedi che cosa sta accendendo.  Non state regolando “generate il modules_Id della colonna„.

Vedere qui sotto:


add_PB_Click vuoto riservato (mittente dell'oggetto, EventArgs e)
        {

            prova
            {
                Il gruppo di dati di //Assume è chiamata ds.
                Genitore di DataRow = ds. Tabelle [“moduli„]. File [0]; //Should fa alcuno che controlla qui per vedere se la fila esiste
                maxValue di int = 0;
                Dott. di DataRow = dtMod.NewRow ();
                   
               fila del genitore di //Set!!!
               Dott. [“modules_Id„] = genitore [“modules_Id„];
               

                se (dtMod.Rows.Count! = 0)
                {
                    foreach (fila di DataRow in dtMod.Rows)
                    {
                        se (Convert.ToInt16 (fila [“moduleRecordID„]) > maxValue)
                            maxValue = Convert.ToInt16 (fila [“moduleRecordID]);
                    }
                }
           
                Dott. [“pathLetter„] = “R„;
                Dott. [“nodeNumber„] = “1„;
                Dott. [“subnet number„] = “1„;
                Dott. [“moduleRecordID„] = maxValue + 5;

                dtMod.Rows.Add (Dott.);

                mainForm.isDirty = allineano;
            }
            fermo (SystemException erra)
            {
                MessageBox.Show (errare. Messaggio);
            }

        }
Altre soluzioni  
 
programming4us programming4us