有两个数据表,用ASP.net(C#)如何动态实现栏目的显示
显示的样式与Treeview的样式相同
一个表是父表
tabel1
pid 父栏目编号
pname 父栏目名称
一个是与此相关的子表
tabel2
id 子栏目编号
pid 父栏目编号
name 子栏目栏目名称
zlink 栏目连接地址
这个问题搞的我一个星期了还是搞不出来.
感觉用ASP写好多了
但是ASP.NET确实比ASP好学易上手,但是就是某一个功能实现起来就是那么难.
譬如上面的这个.
显示的样式与Treeview的样式相同
一个表是父表
tabel1
pid 父栏目编号
pname 父栏目名称
一个是与此相关的子表
tabel2
id 子栏目编号
pid 父栏目编号
name 子栏目栏目名称
zlink 栏目连接地址
这个问题搞的我一个星期了还是搞不出来.
感觉用ASP写好多了
但是ASP.NET确实比ASP好学易上手,但是就是某一个功能实现起来就是那么难.
譬如上面的这个.
解决方案 »
- win7多点触控疑惑?
- 如何选取静态绑定的Gridview中的一条数据
- txt导入access 急急急急急
- Session丢失问题
- ASP.NET SQL 2005 C# 相册图片绑定不能正确显示
- DataGridView中当拖动行或列宽时(就是说调整纵列宽度时)发生那个事件
- 是不是可以这样说,在C#中用了shell的程序 就等于代码成了非托管的了?
- 包含多个小块图像,看起来是一个大图像的重绘问题?
- 请教C#WinForm下的UDP代码(服务器和客户端)
- 我在web服务web引用的时候总是出错。发现文档无效(http://localhost/WebDS/WebDS.vsdisco)
- 有關自動引用事件的問題---急等回復
- 关于正则表达式的问题,大侠们帮我看看吧
{
DataTable dt = doBind.GetData(BLL_doClass.GetDataSet());
LbClass.Items.Add(new ListItem("根目录","0"));
Recursion(0,0,0,null,null,dt);
LbClass.SelectedValue = Rtp.Text;}
private void Recursion(int id,int pid,int level, string strName,string strRtp,DataTable dt)
{
DataRow[] drs = dt.Select("ID=" + id);
string currentString = GetDecorateString(level,strName);
if (drs.Length != 0)
{
LbClass.Items.Add(new ListItem(currentString,strRtp));
}
drs = dt.Select("ParentID=" + id);if (drs.Length != 0)
{
level++;
foreach (DataRow dr in drs)
{
Recursion((int)dr["ID"],(int)dr["PrefaceID"], level,dr["Name"].ToString(),dr["Rtp"].ToString(), dt);
}
}
else
{
return;
}
}
private string GetDecorateString(int level, string strName)
{
string curentString = null;
if (level != 1)
{
for(int i=1;i<level;i++)
{
curentString += "-";
}
curentString = "| "+curentString+strName;
}
else
{
curentString = strName;
}return curentString;
}
表 table
DataRowCollection dataRow = table.Rows;
foreach(DataRow dr in dataRow)
{
if (dr["parentId"]==0)
{
TreeNode root = new TreeNode();
root.Text = dr["Name"].ToString();
this.treeView1.Nodes.Add(root);
AddTree(root,dr["ID"]);
}
}
private void AddTree(TreeNode root ,int parentId)
{
foreach(DataRow dr in dataRow)
{
if(dr["parentId"]==parentId)
{
TreeNode node = new TreeNode();
node.Text = dr["Name"].ToString();
root.Nodes.Add(node);
AddTree(node,dr[ID]);
}
}
}