如何根据数据库的内容来生成一棵树,希望给出数据库设计结构,和实现代码,不甚感激!
解决方案 »
- 关于一个线程的问题
- C#图书借阅功能的实显
- 使用资源文件老出错,烦请帮忙看看
- c#的反射问题 --- 通过反射得到方法中的返回值怎么做?
- C#如何实现像按键精灵在屏幕找一张BMP格式的图片?并确定在屏幕上的位置?
- 再问vs.net 2003和vss 6.0c的问题,在线等候!问题解决马上给分!!!
- C#中把存储过程(sql脚本很长)实现的功能用SqlCommand.commandText实现后会影响效率吗?
- arraylist如何排序呢?
- 安装的时候怎么把外来的com的ocx注册到系统里
- 如何将Bit类型的字段和RadioButton绑定,在线等待
- 关于在C#中怎样读取asp中的cookies?希望有好心人指点!
- 请问如何遍历已实例化并打开的窗体
{
this.treeView1.Nodes.Clear();
nodeRoot=new TreeNode();
nodeRoot.Tag="ROOT";
nodeRoot.Text="所有字典类型";
TreeNode n1=new TreeNode();
TreeNode n2=new TreeNode();
TreeNode n3=new TreeNode();string sql;
DataTable dt1=new DataTable();//数据字典
n1.Tag =1;
n1.Text="常规数据"; //加入子节点
string sql1="select msgType from tb_sys_messages group by msgType";
DataTable dt=_dbo.GetDataTable(sql1,"tb_sys_messages_group");
_dbo.DataTableRemove();for(int i=0;i<dt.Rows.Count;i++)
{
TreeNode msgType=new TreeNode();
msgType.Tag ="1"+dt.Rows[i][0].ToString();
msgType.Text=dt.Rows[i][0].ToString();
n1.Nodes.Add(msgType);
}
nodeRoot.Nodes.Add(n1);//行政区域
n2.Tag =2;
n2.Text="行政区域";
//加入子节点
sql1="select RegionID,RegionName from tb_regions where right(RegionID,4)='0000'";
dt.Clear();
dt=_dbo.GetDataTable(sql1,"tb_regions");
_dbo.DataTableRemove();for(int i=0;i<dt.Rows.Count;i++)
{
TreeNode RegionName=new TreeNode();
RegionName.Tag ="2"+dt.Rows[i][0].ToString().Substring(0,2);
RegionName.Text=dt.Rows[i][1].ToString();
//加入地区
sql="select RegionID,RegionName from tb_regions where right(RegionID,2)='00' and left(RegionID,2)='"+dt.Rows[i][0].ToString().Substring(0,2)+"' and RegionID<>'"+dt.Rows[i][0].ToString()+"'";
dt1=_dbo.GetDataTable(sql,"tb_regions1");
_dbo.DataTableRemove();
for(int j=0;j<dt1.Rows.Count;j++)
{
TreeNode RegionName1=new TreeNode();
RegionName1.Tag ="2"+dt1.Rows[j][0].ToString().Substring(0,4);
RegionName1.Text=dt1.Rows[j][1].ToString();
RegionName.Nodes.Add(RegionName1);
}
dt1.Clear();
n2.Nodes.Add(RegionName);
}
dt.Clear();
nodeRoot.Nodes.Add(n2);//草原类型
n3.Tag =3;
n3.Text="土壤类型";
nodeRoot.Nodes.Add(n3);
nodeRoot.Expand();//结点是否展开
this.treeView1.Nodes.Add( nodeRoot);
}这是我刚做的项目里面的一段,希望对楼主有所帮助,至于数据库结构就不用给出了吧,猜也能猜个差不多,别忘了给我分数哦
DataSet ds = ..treeView1.DataBindings = ds;
这样就是一棵树了,而且可以多个表,形成过个根