用treeview实现主目录以及在相应的主目录下无限添加子目录,还有删除,修改所有在这个树上的目录,麻烦各位大虾帮帮小弟,最好是以前开发过的原代码加解释,拜托!
解决方案 »
- js 模式对话框里获取父窗口html元素值,娶不到求助!!!!
- google map不能在form里边显示
- 高手请进:关于在DATAGRID的DATAGRIDITEM的CELL里动态添加控件的问题
- 关于DATAGRID显示转换的问题
- 求C#和ASP.NET的面试题目集!!!(最好附带答案的)
- 谁能帮我看看,我错在哪了?
- 各位大虾,如何在SkinFile.skin中给AspNetPager自定义控件加上一个样式?
- 怪了,删除DataGrid的Cells中的某项怎么报错,有经验的请来看看。
- 求一正则:找到指定class的 <a>数量
- 用混淆器加密webform组件时出错,请问是什么原因?
- String [] 數組問題
- 用treeview实现主目录以及在相应的主目录下无限添加子目录,还有删除,修改所有在这个树上的目录,麻烦各位大虾帮帮小弟,最好是以前开发
{
if(!IsPostBack)
{
string path ="E:\\temp";
ShowDirectories(path,this.TreeView1.Nodes,"0");
}
}/// <summary>
/// 显示指定文件夹下的所有子文件夹
/// </summary>
private void ShowDirectories(string dirPath,Microsoft.Web.UI.WebControls.TreeNodeCollection nodes,string nodeIndex)
{
TreeNode newNode = new TreeNode();
newNode.Text = dirPath.Substring(dirPath.LastIndexOf("\\")+1);
newNode.NodeData = dirPath;
newNode.ImageUrl = "Images\\folder1.gif";
nodes.Add(newNode);
string[] childDirs = System.IO.Directory.GetDirectories(dirPath);
if(childDirs.Length>0)
for(int i=0;i<childDirs.Length;i++)
ShowDirectories(childDirs[i],newNode.Nodes,nodeIndex+"."+i.ToString());// string[] files = System.IO.Directory.GetFiles(dirPath);
// if(files.Length>0)
// for(int j=0;j<files.Length;j++)
// {
// TreeNode fileNode = new TreeNode();
// fileNode.Text = files[j];
// fileNode.ImageUrl = "Images\\file.jpg";
// newNode.Nodes.Add(fileNode);
//
// }
}/// <summary>
/// 在当前选中的文件夹中创建一个新的子文件夹
/// </summary>
private void Button1_Click(object sender, System.EventArgs e)
{
string newDirName = "新的子文件夹"; if(this.TreeView1.SelectedNodeIndex != null)
{
TreeNode curNode = this.TreeView1.GetNodeFromIndex(this.TreeView1.SelectedNodeIndex);
if(curNode == null) return; System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(curNode.NodeData);
System.IO.DirectoryInfo subDir = dir.CreateSubdirectory(newDirName);
dir = null; TreeNode newNode = new TreeNode();
newNode.Text = newDirName;
newNode.NodeData = subDir.FullName;
curNode.Nodes.Add(newNode);
}
}