Avatar billede lasserasch Juniormester
27. februar 2007 - 11:43 Der er 7 kommentarer og
1 løsning

TreeView volder mig lidt problemer.

Hejsa.

Jeg har et treeview som viser nogle records i en database, med 4 dybder ned.

Når jeg klikker på en node, har jeg en eventhandler som skal forespørge på detaljer for den valgte record i en SQL DB, og liste disse detaljer i nogle labels mv.

Min kode ser sådan ud i min eventhandler pt.



void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)

        {
            if (treeView1.SelectedNode != null)
            {
          if (treeView1.se.SelectedNode.Text.StartsWith("Del Kalkulation"))
          {
              panel1.Visible = true;
              button1.Visible = true;
           
              updaterecordinfo();

          }
          else
          {
              panel1.Visible = false;
              button1.Visible = false;
             

          }

            }

        }



Jeg tjekker på null værdier først, af samme grund som giver mig mit lille problem.

I min updaterecordinfo(); void finder jeg den valgte node hva.
treeView1.SelectedNode.Name

Men det virker ikke, for den finder her altid navnet på den node jeg var på før. Det er altså som om at min "selectedNode" ikke bliver sat før min eventhandler bliver fyret af.


Nogen der ved hvad jeg kan gøre anderledes for at få sat selectedNode til den node jeg klikker på, inden den affyrer min eventhandler :

"treeView1.NodeMouseClick += new TreeNodeMouseClickEventHandler(treeView1_NodeMouseClick);"

Mvh.
Lasse
Avatar billede Slettet bruger
27. februar 2007 - 12:47 #1
Hmm måske er der et event for selected node changed eller noget? det kan jo være TreeNodeMouseClick bliver affyret for den rent faktisk vælger noden som du siger
Avatar billede kalp Novice
27. februar 2007 - 12:55 #2
prøv at kalde treeView1.Select(); før det andet.
Avatar billede lasserasch Juniormester
27. februar 2007 - 13:46 #3
treeview1.select(); selecter jo controllen. Den er selected i forvejen, da det jo er i den jeg klikker med musen.

Tror også det er fordi treenodemouseclick eventet bliver affyret før den selecter noden. Og kan ikke lige umiddelbart finde hvilket andet event der kan bruges i stedet for.

Det var lidt det jeg håbede på nogle af jer hajer vidste!

/Lasse
Avatar billede kalp Novice
27. februar 2007 - 13:51 #4
måske dette event.
    treeView1.AfterSelect += new TreeViewEventHandler(treeView1_AfterSelect);
Avatar billede kalp Novice
27. februar 2007 - 13:52 #5
meeen.. prøv først

void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)

        {
            if (treeView1.SelectedNode != null)
            {
          if (e.Node.Text.StartsWith("Del Kalkulation"))
          {
              panel1.Visible = true;
              button1.Visible = true;
           
              updaterecordinfo();

          }
          else
          {
              panel1.Visible = false;
              button1.Visible = false;
             

          }

            }

        }
Avatar billede fufan Nybegynder
27. februar 2007 - 14:41 #6
Prøv indsæt denne linie først:

treeview.SelectedNode = treeview.GetNodeAt(e.X, e.Y);
Avatar billede lasserasch Juniormester
02. marts 2007 - 08:31 #7
treeview.SelectedNode = treeview.GetNodeAt(e.X, e.Y);

virkede perfekt! Takker for det! Smid et svar...

/Lasse
Avatar billede fufan Nybegynder
02. marts 2007 - 15:30 #8
Godt at du kunne bruge det... :)

Go' weekend!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester