【其中这是一篇很好的文章,自己添加www】
cnblogs.com/peterzb/archive/2009/06/08/1499131.html
以中国省份和城市为例,对TreeView控件进行阐述,数据库的实例如图所示:
数据库Address中,两个表Shengfen和city来个,city表中的shengfenID是shengfen表的外键。
下面我们来展示以下如何将信息展示在TreeView导航控件中。【后台代码】
private void Form1_Load(object sender, EventArgs e)
{
string strSql = "select ID,ShengFen from ShengFen";
DataView dv = dtView(strSql);
treeView1.ImageList = imageList1;//【1】图标指示于imagelist
TreeNode n = new TreeNode();
n.Text = "中国城市"; //主标题
this.treeView1.Nodes.Add(n); //添加到TreeView中
foreach (DataRowView datav in dv)
{
TreeNode tn = new TreeNode(); //定义节点
tn.Text = datav["ShengFen"].ToString(); //将获取到字段转换为文本信息
tn.Tag = datav["ID"]; //保存的是该节点对应的编号信息
n.ImageIndex = 2; 【2】哪一个图标
n.Nodes.Add(tn); //添加节点【父节点】
AddChildNodes(tn); //添加子节点【子节点】
}
}
public DataView dtView(string sql) //获取数据库表信息
{
SqlConnection con = new SqlConnection("server=.;database=Address;uid=sa;pwd=admin@123456;");
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt.DefaultView;
}
public void AddChildNodes(TreeNode t) //添加子节点【子节点】
{
int ShengFen = Convert.ToInt32(t.Tag.ToString()); //转换节点的ID信息类型
DataView d = dtView("select * from City where ShengFenID=" + ShengFen);
foreach (DataRowView datav in d)
{
TreeNode node = new TreeNode();//添加实例
node.Text = datav["City"].ToString();
node.Tag = datav["ID"];
t.Nodes.Add(node);
}
}
》》》》》》》》》》》
演示效果:
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
【2】在TreeView控件属性里面也可以实现
【3】转载于百度知道,某网友的回答:说的挺好的:::::
如何:设置 Windows 窗体 TreeView 控件的图标 Windows 窗体 TreeView 控件可在每个节点旁显示图标。图标紧挨着节点文本的左侧。若要显示这些图标,必须使树视图与 ImageList 控件相关联 设置 TreeView 控件的 ImageList 属性为想要使用的现有 ImageList 控件。 这些属性可在设计器中使用“属性”窗口进行设置,也可在代码中设置。 设置节点的 ImageIndex 和 SelectedImageIndex 属性。
(1)ImageIndex 属性确定正常和展开状态下的节点显示的图像,
(2)SelectedImageIndex 属性确定选定状态下的节点显示的图像。
这些属性可在代码中设置,或在“树节点编辑器”中设置。若要打开“树节点编辑器”,请单击“属性”窗口中 Nodes 属性旁边的省略号按钮 ()。
ImageList myImageList = new ImageList();
myImageList.Images.Add(Image.FromFile("Default.gif"));
myImageList.Images.Add(Image.FromFile("SelectedDefault.gif"));
myImageList.Images.Add(Image.FromFile("Root.gif"));
myImageList.Images.Add(Image.FromFile("UnselectedCustomer.gif"));
myImageList.Images.Add(Image.FromFile("SelectedCustomer.gif"));
myImageList.Images.Add(Image.FromFile("UnselectedOrder.gif"));
myImageList.Images.Add(Image.FromFile("SelectedOrder.gif"));
// Assign the ImageList to the TreeView.
myTreeView.ImageList = myImageList;
// Set the TreeView control's default image and selected image indexes.
myTreeView.ImageIndex = 0;
myTreeView.SelectedImageIndex = 1;