我要做成这样的效果:
栏目1(有这个栏目的名字,缩略图)
子栏目a(同样有这个栏目的名字,缩略图)
子栏目b(同样有这个栏目的名字,缩略图)
栏目2(有这个栏目的名字,缩略图)
子栏目c(同样有这个栏目的名字,缩略图)
子栏目d(同样有这个栏目的名字,缩略图)只有两极,就是有缩略图不好办阿,我用树可以弄的如果没有缩略图的话,麻烦大家给个思路阿!代码更好!
当然还要对栏目进行维护的功能了,比如添加子栏目或栏目!
栏目1(有这个栏目的名字,缩略图)
子栏目a(同样有这个栏目的名字,缩略图)
子栏目b(同样有这个栏目的名字,缩略图)
栏目2(有这个栏目的名字,缩略图)
子栏目c(同样有这个栏目的名字,缩略图)
子栏目d(同样有这个栏目的名字,缩略图)只有两极,就是有缩略图不好办阿,我用树可以弄的如果没有缩略图的话,麻烦大家给个思路阿!代码更好!
当然还要对栏目进行维护的功能了,比如添加子栏目或栏目!
解决方案 »
- 怎么在table中隐藏控件,隐藏后控件所占用的<tr>那一行消失
- 关于error statusCode谁能多教点儿这方面的知识给我啊
- jquery ajax以及ztree插件问题的困扰 来看看
- 偶滴神哪,怎么数据读不出来呀?
- ASP.NET2.0 C# 菜鸟问题,在线等答案.DataList中的LinkButton点击后跨页面传值,高手帮忙啊
- 美工方面的 因该很简单`页面上的控件的 颜色如何使用在该 控件所在的表格的 背景色或者 背景图片
- 请问关于foreach循环的问题
- C#新手请问在一个类里这样写,是什么意思?这样的过程是什么叫法?(望大家指点一二哈,帮忙注释下,我大概理解点
- 关于devexpress报表控件怎么格式化时间货字符串,如图:
- 我的.net中怎么没有system.web.ui
- 受不了鸟,用ajax1.0, TextBox设定为AutoPostBack, Page_Load或Page.OnLoad事件被执行了两次?!
- 当选择dropdownlist的第一行时触发事件?
flytreeview这个控件可以象gidview那样使用模板定义的显示样式的
public void InitTree(TreeView tree,DataSet ds)
{
tree.Nodes.Clear();
if (null == ds) return;
if (ds.Tables.Count <= 0) return; DataRow[] rowList = ds.Tables[0].Select(TableTree.FATHERID + "='-1'",TableTree.ORDERBY);
foreach (DataRow row in rowList)
{
TreeNode node = new TreeNode();
node.Text = row[TableTree.DESN].ToString();
node.NavigateUrl = "MainManage.aspx?TableName=" + row[TableTree.TABLENAME].ToString()
+ "&TreeID=" + row[TableTree.TABLETREEID].ToString();
node.Target = "Main";
node.Value = row[TableTree.TABLETREEID].ToString() + "|" + row[TableTree.TABLENAME].ToString();
tree.Nodes.Add(node); CreateSubTree(node,ds,expand);
}
} /// <summary>
/// 创建树的子结点
/// </summary>
public void CreateSubTree(TreeNode parentNode,DataSet ds)
{
string value = parentNode.Value.Substring(0,parentNode.Value.IndexOf("|"));
DataRow[] rowList = ds.Tables[0].Select(TableTree.FATHERID + "='" + value + "'",TableTree.ORDERBY);
foreach (DataRow row in rowList)
{
TreeNode node = new TreeNode();
node.Text = row[TableTree.DESN].ToString();
node.NavigateUrl = "MainManage.aspx?TableName=" + row[TableTree.TABLENAME].ToString()
+ "&TreeID=" + row[TableTree.TABLETREEID].ToString();
node.Target = "Main";
node.Value = row[TableTree.TABLETREEID].ToString() + "|" + row[TableTree.TABLENAME].ToString();
parentNode.ChildNodes.Add(node); CreateSubTree(node,ds,expand);
}
}通过第一个函数初始化以及栏目,第二个函数初始化子级栏目,同时引用递归调用,
更改时操作数据库就行了,没必要再写了;
函数中的参数意义如下:
tree为您要初始化的输得名称
ds为您要的数据集合
treeview不能有图啊
flytreeview这个控件 vs2005里没有把!
治标的方法:在显示页面前那个事件里,改写node的innerHtml
治本的方法:就像flytreeview,radtreeview那样继承并改写treeview,这个麻烦点不过人家已经有成品了,我们拿过来用就是了
老大,问题是这个控件我的vs2005里没有啊,怎么用啊,麻烦我告诉我啊!
在工具箱里添加控件把控件加入工具箱后,就可以拖动使用了 这是vs2005这个ide最基本的使用方法如果你还是不会的话,那就用现成的treeview把,不过麻烦点,需要继承并重载一些方法以扩展treeview的功能,我下面写了个例子,看明白了自己改
public class tnodes:TreeNode
{
public string img; //新加了一个属性img表示图片地址
protected override void RenderPreText(HtmlTextWriter writer)
{
base.RenderPreText(writer);
}
protected override void RenderPostText(HtmlTextWriter writer)
{
writer.WriteLine(@"<img src='"+img+"'/>"); //这里只是简单的演示一下,给其追加图片显示,不过没有加css及大小控制,也没判断img==null的状况,ViewState和postback部分也没处理,你看明白过程了,自己把这些处理了把
base.RenderPostText(writer);
}
}
protected void Page_Load(object sender, EventArgs e)
{ tnodes mynode = new tnodes();
mynode.Text = "tu";
mynode.img= "xx.jpg";//给node加图片的地址
TreeView1.Nodes.Add(mynode);
}
=====================================================================
老大你还在吗?你这样可以改图片 吗?