数据库结构
表名:Product_Class
Product_Class_id Name Parent Depth
1 aa 0 1
2 bb 0 1
3 aa1 1 2
4 aa2 1 2
5 bb1 2 2
6 bb2 2 2
表名:Product_List
Product_List_ID Product_Class_ID Name
1 3 aa1product
2 4 aa2product
3 5 bb1product
4 6 bb2product
我想用treeview控件实现如下的功能,一开始列出depth=1的所有类别名字
点一下+号列出下一级的类别,依次类推,直到点到最后一层。在最后一层中列出属于这个类别下的产品名字,并且每一个产品名字前面有一个复选框如过选中的话它的value就为它的ID值?
现在类别显示已经成功,但要在最后一级类别下面显示商品,应该怎么改??
最后的效果如:
+aa
+aa1
+aa1product
+aa2
+aa2product
+bb
+bb1
+bb1product
+bb2
+bb2product
表名:Product_Class
Product_Class_id Name Parent Depth
1 aa 0 1
2 bb 0 1
3 aa1 1 2
4 aa2 1 2
5 bb1 2 2
6 bb2 2 2
表名:Product_List
Product_List_ID Product_Class_ID Name
1 3 aa1product
2 4 aa2product
3 5 bb1product
4 6 bb2product
我想用treeview控件实现如下的功能,一开始列出depth=1的所有类别名字
点一下+号列出下一级的类别,依次类推,直到点到最后一层。在最后一层中列出属于这个类别下的产品名字,并且每一个产品名字前面有一个复选框如过选中的话它的value就为它的ID值?
现在类别显示已经成功,但要在最后一级类别下面显示商品,应该怎么改??
最后的效果如:
+aa
+aa1
+aa1product
+aa2
+aa2product
+bb
+bb1
+bb1product
+bb2
+bb2product
解决方案 »
- js中寻找gridview控件ID
- 双击GridView一行后数据如何获取到该行数据
- 急急急!asp.net如何打开服务器的文件
- Repeater表头排序
- 真的很急,请在家帮我看一下
- asp.net开发的一个亲闻发布系统,新闻列表是用js生成的。可以发现在不支持URI?(顶者有分)
- 朋友.帮我一个忙..我想在这个表格用javascript在<table><tr>中间加一段html代码.如何弄??
- 关于动态输出登陆框,按钮的事件要怎么处理?
- 怎样搭建asp.net的开发环境......
- 是否可以向我的项目内的一个目录内写文件?
- 如何将小数格式化为特定的格式
- LoveCherry老大,超难问题,进来帮帮忙啊!!
private void Page_Load(object sender, System.EventArgs e)
{
string SelectMember_Name="select * from Product_Class,Product_List where isvalid=0";
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
myConnection.Open();
SqlCommand cmd1 = new SqlCommand(SelectMember_Name,myConnection);
SqlDataAdapter adp = new SqlDataAdapter(SelectMember_Name,myConnection);
DataSet ds=new DataSet();
adp.Fill(ds);
this.ViewState["ds"]=ds;
AddTree(0, (TreeNode)null); }
public void AddTree(int Parent,TreeNode pNode)
{ DataSet ds=(DataSet) this.ViewState["ds"];
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[Parent] = " + Parent;
foreach(DataRowView Row in dvTree)
{ TreeNode Node=new TreeNode() ;
if(pNode == null)
{ //添加根节点
Node.Text = Row["Name"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded=true;
AddTree(Int32.Parse(Row["Product_Class_ID"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点 Node.Text = Row["Name"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = false;
AddTree(Int32.Parse(Row["Product_Class_ID"].ToString()),Node); //再次递归 } }
}