Avatar billede simsen Mester
19. juli 2010 - 23:01 Der er 1 løsning

Treeview vil kun have at én er selected ad gangen og at den så viser et andet billede

Hej,

jeg har et treeview på min side. Nu vil jeg frygtelig gerne, at den kun selecter én ad gangen. Det vil sige, når jeg selecter én, skal de andre deselectes..... Dette for at vise, hvilken mappe der er åben. Til dette bruger jeg så forskellige billeder - én til "lukkede" mapper folder.gif og én til den åbne mappe - (genial tankegang *griner*) - folderopened.gif.

Dette forsøger jeg at gøre i SelectedNodeChanged:

protected void tviewResourceGallery_SelectedNodeChanged(object sender, EventArgs e)
    {
        tviewResourceGallery.NodeStyle.ImageUrl = String.Format("~/App_Themes/{0}/images/icons/folder.gif", Page.Theme.ToString().Trim());
        tviewResourceGallery.SelectedNode.ImageUrl = string.Format("~/App_Themes/{0}/Images/Icons/folder.gif", Page.Theme);
        ViewState.Add("SelectedNode", tviewResourceGallery.SelectedValue.ToString().Trim());
        nodeId = Convert.ToInt32(this.tviewResourceGallery.SelectedValue);
        btnUploadFile.Enabled = true;
        lblInfo.Visible = false;
        PageNumber = 0;
        BindDataItems(false);
        tviewResourceGallery.SelectedNode.ImageUrl = string.Format("~/App_Themes/{0}/Images/Icons/folderopened.gif", Page.Theme);
        tviewResourceGallery.SelectedNode.Selected = false;
    }

Altså når jeg åbner siden har jeg sat dem til folder.gif - så regnede jeg med, at når jeg satte nodestyle.imageurl i starten af selectednodechanged, ville den ændre alle til folder.gif....

Men det gør den bare ikke - den bibeholder folderopened.gif....

Hvad skal jeg gøre, så der kun vises én åben folder ad gangen (altså billedemæssigt)?

mvh
simsen :-)
Avatar billede simsen Mester
20. juli 2010 - 10:11 #1
Jow jow - kan da selv engang imellem......Tænkte at det jeg har læst om OnExpanded kunne da måske bruges i SelectedNodeChanged - at jeg hver gang går gennem billederne og så vælger kun den sidste selecteds billede skal være folderopened.gif.... Det virkede :-)

protected void tviewResourceGallery_SelectedNodeChanged(object sender, EventArgs e)
    {
        ViewState.Add("SelectedNode", tviewResourceGallery.SelectedValue.ToString().Trim());
        nodeId = Convert.ToInt32(this.tviewResourceGallery.SelectedValue);
        btnUploadFile.Enabled = true;
        lblInfo.Visible = false;
        PageNumber = 0;
        BindDataItems(false);

        foreach (TreeNode node in tviewResourceGallery.Nodes)
        {
            if (node.Value != Convert.ToString(nodeId))
            {
                node.ImageUrl = string.Format("~/App_Themes/{0}/Images/Icons/folder.gif", Page.Theme);
            }
            else
            {
                node.ImageUrl = string.Format("~/App_Themes/{0}/Images/Icons/folderopened.gif", Page.Theme);
            }
        }
    }
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