Pereiti prie turinio

C# c Sharp treenode tag


Rekomenduojami pranešimai

esmė:

tree view užpildomas failų sistemos medžiu. Kiekvienas paskutinis node'as (lapas) yra failas, kuris gali turėti aprašyma XML faile. Paiška XML'e vykdoma pagal failo kelią (tai unikaliai identifikuoja failą ir yra pagrindinis požymis XML'e).

 

textBox1.Text = e.Node.FullPath;
           string path = e.Node.FullPath;
           if (e.Node.Tag == null)
           {
               fillFields(path, e);
           }
           else if (e.Node.Tag == 0)
           {
               textBox2.Text = "informacijos nerasta";
           } 

 

jei node'o pažymis (Tag) yra null vykdoma paieška XML'e, jei randama - viskas įrašoma i šį požymį ir veliau iš jo informacija ir nuskaitoma, jei nerandama įrašomas 0, e yra TreeNodeEventArgs tipo kintamasis, perduodamas funkcijai, kad node'ui butu galima pristikti objektą.

 

//fillfields(path, node) gragmentas, kuris neveikia

foreach (XmlNode xn in list)
           {
               string xmPath = xn["path"].InnerText;

               if (xmPath == path)
               {
                   node.Node.Tag = xn;                    

                   string xmPlatusAprasymas = xn["platus_aprasymas"].InnerText;
                   textBox3.Text = xmPlatusAprasymas;
                   xmPlatusAprasymas = null;

                   string xmKasPavaizduota = xn["kas_pavaizduota"].InnerText;                    
                   textBox2.Text = xmKasPavaizduota;
                   xmKasPavaizduota = null;

                   //node.Node.Name = "radom";
                   break;
               }
               else { node.Node.Tag = 0; }

 

problemos yra kelios, kažkodėl neveikia if'as pirmoje kodo dalyje ir kaip iš node.Node.Tag pasiimti objekto saugomą informaciją?

 

dėl debuginimo ištrintos arba neparašytos kai kurios eilutės, bet jos neturi nieko bendro su turimais sunkumais.

Redagavo masius
Nuoroda į pranešimą
Dalintis kituose puslapiuose

sutvarkiau if'ą ir tag'us. Pasirodo su if'u viskas gerai buvo, ereikėjo ant node dar kartą paspaust. O objektai iš node.Tag ištraukiami taip:

node.Node.Tag = xn;

XmlNode xn = (XmlNode)e.Node.Tag;
string xmPlatusAprasymas = xn["platus_aprasymas"].InnerText;

 

vietoje XmlNode dedat tokį tipą, kokio tipo objetą priskirinėjot pirmoje dalyje. Mano atveju tai buvo XmlNode

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...