初学者问题。。。求救!!!
using System;
using System.Drawing;
using System.Windows.Forms;
namespace treeview
{
public class from : System.Windows.Forms.Form
{
private System.Windows.Forms.TreeView treeView;
public from()
{
InitializeComponent();
}
private void InitializeComponent()
{
// --------定义treeView--------------
this.treeView = new System.Windows.Forms.TreeView();
this.treeView.Location = new System.Drawing.Point(1,1);
this.treeView.Size = new System.Drawing.Size(400, 300);
this.treeView.Name = "treeView";
TreeNode country = new System.Windows.Forms.TreeNode("中国");
this.treeView.Nodes.Add(country);
//--------生成省份的TreeNode-------------
TreeNode gd = new System.Windows.Forms.TreeNode("广东省");
TreeNode bj = new System.Windows.Forms.TreeNode("北京市");
TreeNode sh = new System.Windows.Forms.TreeNode("上海市");
//----------把省份加入到国家----------------
country.Nodes.Add(gd);
country.Nodes.Add(bj);
country.Nodes.Add(sh);
//--------生成市的TreeNode------------
TreeNode gzhou = new System.Windows.Forms.TreeNode("广州市");
TreeNode sz = new System.Windows.Forms.TreeNode("深圳市");
TreeNode dg = new System.Windows.Forms.TreeNode("东莞市");
//--------把市加入到省里去----------
gd.Nodes.Add(gzhou);
gd.Nodes.Add(sz);
gd.Nodes.Add(dg);
//--------------将具体的地址加到市里面去-----------------
TreeNode tianhe = new System.Windows.Forms.TreeNode("天河区");
TreeNode dongshan = new System.Windows.Forms.TreeNode("东山区");
gzhou.Nodes.Add(tianhe);
gzhou.Nodes.Add(dongshan);
TreeNode wushan = new System.Windows.Forms.TreeNode("岗顶");
tianhe.Nodes.Add(wushan);
TreeNode guangchen = new System.Windows.Forms.TreeNode("莞城");
TreeNode houjie = new System.Windows.Forms.TreeNode("厚街");
TreeNode humen = new System.Windows.Forms.TreeNode("虎门");
TreeNode chanping = new System.Windows.Forms.TreeNode("常平");
dg.Nodes.Add(guangchen);
dg.Nodes.Add(houjie);
dg.Nodes.Add(humen);
dg.Nodes.Add(chanping);
TreeNode xinfen = new System.Windows.Forms.TreeNode("新芬路");
TreeNode hongshan = new System.Windows.Forms.TreeNode("红山路");
TreeNode menpai = new System.Windows.Forms.TreeNode("4号404");
guangchen.Nodes.Add(xinfen);
guangchen.Nodes.Add(hongshan);
hongshan.Nodes.Add(menpai);
// ---------------Form1------------------
this.ClientSize = new System.Drawing.Size(402, 302);
this.Controls.Add(this.treeView);
this.Name = "Form";
this.Text = "TreeNode";
}
static void Main()
{
Application.Run(new from());
}
}
}
怎样改为从数据库读入数据来实现树型表示啊?(假设ACCESS 数据库。文件名db1.mdb)求救。。。急!
问题点数:0、回复次数:5Top
1 楼Kanderliu(卖男孩的小女孩)回复于 2003-12-02 12:51:27 得分 0
参考以下文章,写的比较详细的.不懂再发消息给我.
http://chs.gotdotnet.com/quickstart/winforms/doc/ControlRef/TreeViewCtl.aspx
http://souha.60800.com/ArticleShow.asp?ArticleID=390Top
2 楼myhex(小乙)回复于 2003-12-02 13:17:38 得分 0
简单说就是绑定数据库Top
3 楼jerryzheng47(jerry(^oo^))回复于 2003-12-02 13:22:24 得分 0
打开控制面板中的ODBC图标,点击System DNS标签,依次选择Add>Microsoft Access,并点击Finish按钮。在拉下来的对话框中输入数据源的名字,比如是mymdb,然后创建数据源,双击OK按钮。
我是这样绑定的。可是编译是说USING SYSTEM.DATA.ADO 出问题啊。
Top
4 楼dahuzizyd(你就是我心中的女神)回复于 2003-12-02 13:26:35 得分 0
从数据库生成树:
public void InitTree(Microsoft.Web.UI.WebControls.TreeNodeCollection Nds,string parentId,DataSet ds,string TableName)
{
dv=new DataView();
Microsoft.Web.UI.WebControls.TreeNode tmpNd;
string intId;
dv.Table=ds.Tables[TableName];
dv.RowFilter="ParentId=" + parentId ;
foreach(DataRowView drv in dv)
{
tmpNd=new Microsoft.Web.UI.WebControls.TreeNode();
tmpNd.ID=drv[0].ToString();
tmpNd.Text=drv[2].ToString();
Nds.Add(tmpNd);
intId=drv[1].ToString();
InitTree(tmpNd.Nodes,tmpNd.ID.ToString(),ds,TableName);
}
}
表:
id parentid name
要先在函数外面定义一个DataView dv
Top




