Erstellen Sie ein treeview c# asp.net - erweitern Sie alle Knoten

Ich habe Probleme versuchen zu bauen ein treeview mit asp.net und c#.

Mein Ergebnis ist, versuchen zu zeigen, ein treeview wie folgt aus (sorry für die, falsche Schreibweisen oder falsch Lage, aber dies ist nur test-Daten):

UK 
   -> London
     -> SouthEast
        ->Kent
        ->Essex
     -> NorthEast
        ->Cambridge
Wales
   -> Cardiff

Hier ist mein code unter:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1"
    ValidateRequest="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:TreeView ID="TreeView1" runat="server" >
                </asp:TreeView>
    </form>
</body>
</html>

C# :

using System;
using System.Collections.Generic;
using System.Web.UI.WebControls;
using System.Collections.ObjectModel;

namespace WebApplication1
{  
    public partial class WebForm1 : System.Web.UI.Page
    {
        public class ViewModel
        {           
            public string LocationName { get; set; }           
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            ICollection<ViewModel> list = new Collection<ViewModel>();
            list.Add(new ViewModel { LocationName = "UK" });
            list.Add(new ViewModel { LocationName = "UK.London.SouthEast.Kent" });
            list.Add(new ViewModel { LocationName = "UK.London.SouthEast.Essex" });
            list.Add(new ViewModel { LocationName = "Wales.Cardiff" });
            list.Add(new ViewModel { LocationName = "Wales" });
            list.Add(new ViewModel { LocationName = "UK.London.NorthEast.Cambridge" });

            PopulateTreeview(list);
        }

        private void PopulateTreeview(ICollection<ViewModel> listOfCities)
        {
            foreach (ViewModel vm in listOfCities)
            {
                    TreeNode tnNode = new TreeNode();
                    tnNode.Text = vm.LocationName;
                    tnNode.Value = vm.LocationName;                    
                    tnNode.Expanded = true;                   
                    TreeView1.Nodes.Add(tnNode);                
            }
        }
    }
}

Wie Sie sehen können meine test-Daten ist das format "UK.London.Südöstlich.Essex". Ich werde diese Daten aus der DB. Ich brauche zum Aufbau einer Eltern-Knoten und Kind-Knoten mithilfe dieser Daten, aber weiß nicht wie? Versuchen seit paar Tagen schreiben, wie Sie dies tun.

  • Haben Sie eine google-Suche.. es gibt viele Beispiele.. hier ist ein StackOverFlow Beispiel die gleiche Frage hast du verstanden, linq oder lambda ?? stackoverflow.com/questions/447639/...
  • Es ist, weil Sie tun es alle falsch; Sie sind das hinzufügen, dass alle Kinder der root-Knoten, ohne auch nur einen Blick auf die Hierarchie, so wie Sie erwarten, dass es funktioniert?
InformationsquelleAutor user929153 | 2012-02-20
Schreibe einen Kommentar