81, 现在有一个数据库,数据库中某一字段Serial,存储的数据为0,00,01,02,03,04,05,030,031,032,033,034,0300,0301,0302,03000,03001,03002,等等,以此类推,现在想利用treeview控件来设计一个树,该树是根据数据库中数据的长度及数据的一些字符的关键字来建立的,最终要显示如下:
-0
--00
--01
--02
--03
---030
----0300
-----03000
-----03001
----0301
---031
---032
--04
请问我该如何实现,最好给个例子程序,小弟不甚感谢!
private System.Windows.Forms.TreeNode GetNode(string nodeText,System.Windows.Forms.TreeNode node)
{
System.Windows.Forms.TreeNode ret=null;
if (node.Text==nodeText)
{
ret= node;
}
else
{
foreach(System.Windows.Forms.TreeNode subnode in node.Nodes)
{
ret= GetNode(nodeText,subnode);
}
}
return ret;
}
private void button1_Click(object sender, System.EventArgs e)
{
this.sqlConnection1.Open();
System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient.SqlCommand();
cmd.Connection=this.sqlConnection1;
cmd.CommandText="select * from test";
System.Data.SqlClient.SqlDataReader sd =cmd.ExecuteReader();
while(sd.Read())
{
string s=sd.GetString(0);
System.Windows.Forms.TreeNode newNode=new System.Windows.Forms.TreeNode();
newNode.Text=s;
System.Windows.Forms.TreeNode node=null;
foreach(System.Windows.Forms.TreeNode n in this.treeView1.Nodes)
{
node=this.GetNode(s.Substring(0,s.Length-1),n);
if (node!=null)
break;
}
if (node!=null)
{
node.Nodes.Add(newNode);
}
else
{
this.treeView1.Nodes.Add(newNode);
}
}
}