Hej! Om du använder Netscape som webbläsare och c#'s inbyggda treeviewkontroll så tror jag inte den visar mappar eller ens fungerar. Om du infogat bilder som inte har rätt sökväg så borde du i alla fall fått tomma bildplatser i din webbläsare. public class DocTree : System.Web.UI.Page Hej.Kan ej se foldermapparna i min treeview.
Jag har gjort en treeview på några filer. Jag får upp filernas och mapparnas namn, men inte symbolerna. ( symboler = folder, folderopen, sträck, puls och minustecken)
Är det någon som vet om jag måste göra någon speciell inställning. Sätta någon variabel till true, för att de skall visas?
Jag skapar treeviewn i HTML, men dess funktionallietet gör jag i en .cs fil.
Tack på förhand!
Med vänlig hälsning,
Jenny Lustig Sv: Kan ej se foldermapparna i min treeview.
Det är dock svårt att exakt svara på vad som kan vara fel eftersom ingen kod eller exempel till sidan kan ses.Sv: Kan ej se foldermapparna i min treeview.
{
protected Microsoft.Web.UI.WebControls.TreeView TreeCtrl;
public DocTree()
{
Page.Init += new System.EventHandler(Page_Init);
}
private void Page_Load(object sender, System.EventArgs e)
{
if ( ! this.IsPostBack )
{
// add tree node "type" for folders and files
//string imgurl = "/webctrl_client/1_0/images/";
string imgurl="http://localhost/Isolde/Images/"; //"/webctrl_client/1_0/Images/" ;
TreeNodeType type;
type = new TreeNodeType();
type.Type = "folder";
type.ImageUrl = imgurl + "folder.gif";
type.ExpandedImageUrl = imgurl + "folderopen.gif";
TreeCtrl.TreeNodeTypes.Add( type );
type = new TreeNodeType();
type.Type = "file";
type.ImageUrl = imgurl + "html.gif";
TreeCtrl.TreeNodeTypes.Add( type );
// start the recursively load from our application root path
// (we add the trailing "/" for a little substring trimming below)
GetFolders( MapPath( "~/webpages/" ), TreeCtrl.Nodes );
//webpages/
// expand 3 levels of the tree
TreeCtrl.ExpandLevel = 3; //Sets or retrieves the number of levels to expand within the TreeView
}
}
private void Page_Init(object sender, EventArgs e)
{
InitializeComponent();
}
private void GetFolders( string path, TreeNodeCollection nodes )
{
// add nodes for all directories (folders)
string[] dirs = Directory.GetDirectories( path );
foreach( string p in dirs )
{
string dp = p.Substring( path.Length );
if( dp.StartsWith( "_v" ) )
continue; // ignore frontpage (Vermeer Technology) folders
nodes.Add( Node( "", p.Substring( path.Length ), "folder" ) );
}
// add nodes for all files in this directory (folder) //"*.aspx" );
string[] files = Directory.GetFiles( path, "*.aspx");
foreach( string p in files )
{
nodes.Add( Node( p, p.Substring( path.Length ), "file" ) );
}
// add all subdirectories for each directory (recursive)
for( int i = 0; i < nodes.Count; i++ )
{
if ( nodes[i].Type == "folder" )
{
GetFolders(dirs[i] + "\\", nodes[i].Nodes);
}
}
}
/*
The final method (called from GetFolders) creates a TreeNode
object from the specified path, node text, and node type.
It's a little sleezy, but I use the full path, minus the
length of the path that represents my physical "root" path to
create the NavigateUrl. This does require that the physical
path names match the virtual names in the NavigateUrl
(from my root forward). */
private TreeNode Node( string path, string text, string type )
{
TreeNode n = new TreeNode();
n.Type = type;
n.Text = text;
if ( type == "file" )
{
// strip off the physical application root portion of path //"/" + path.Substring(MapPath( "/" ).Length );
string nav = "/" + path.Substring(MapPath( "/" ).Length );
nav.Replace( '\\' , '/' );
n.NavigateUrl = nav;
}
return n;
}
#region Web Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
Jag har tagit koden från http://www.aspalliance.com/shark/articles/TreeView/TreeViewDoc.aspx
Det konstiga är att när jag använder "Watch" så kan jag se att sökvägarna till alla .gif bilder stämmer. Det verkar som det blir fel precis när de skall visas.
Hoppas att någon kan hjälpa mig.
Med vänlig hälsning,
en förtvivlad JennySv: Kan ej se foldermapparna i min treeview.
Om du använder IE Web Controls bör du veta att MS inte supportar denna ännu.
Men visst är det trevliga kontroller.
Treeviewen kräver att du har en mapp i rooten, "treeimages" tror jag den heter.
(Sitter på jobbet nu och kan inte kolla)
Denna skall skapas när man kör installationsprogrammet. Men ibland fungerar det inte.
Kontrollera att mappen finns där och att bilderna ligger i.
Annars får du skapa den själv.
Kolla egenskaperna på treeviewen och leta efter en egenskap som heter "systemimages" eller något.
Lycka till!
//fredda