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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie zum Auffüllen des TreeView-als ob es eine Liste. Sie müssen angeben, dass die Hierarchie in der Reihenfolge zum Auffüllen der Baum richtig...
Haben Sie einen Blick auf:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.treenode.childnodes.aspx
Jeder Knoten sollte Hinzugefügt werden, mit Ihren jeweiligen Kindern. Sie auf der anderen Seite festlegen, dass alle Knoten platziert werden soll unter dem "root".